What is the characteristic of algorithms?
969057
In mathematics and computing, an algorithm is a procedure (a finite set of well-defined instructions) for accomplishing some task which, given an initial state, will terminate in a defined end-state. The computational complexity and efficient implementation of the algorithm are important in computing, and this depends on suitable data structures.\n\nInformally, the concept of an algorithm is often illustrated by the example of a recipe, although many algorithms are much more complex; algorithms often have steps that repeat (iterate) or require decisions (such as logic or comparison). Algorithms can be composed to create more complex algorithms.\n\nThe concept of an algorithm originated as a means of recording procedures for solving mathematical problems such as finding the common divisor of two numbers or multiplying two numbers. The concept was formalized in 1936 through Alan Turing's Turing machines and Alonzo Church's lambda calculus, which in turn formed the foundation of computer science.\n\nMost algorithms can be directly implemented by computer programs; any other algorithms can at least in theory be simulated by computer programs. In many programming languages, algorithms are implemented as functions or procedures.
93226
algorithm is a basic and important part of programming. before writing any program(codes) we first design its algorithm i.e. genral steps to be taken to solve that program in normal english words called pseudocodes. so that one can easily understand what logic and aproach programmer has used to solve this problem.\n\nexample:\nalgorithm for multiplication of two numbers:\n1. declare three variables as a,b,c\n2. input first number into a\n3. input second number into b\n4. store c as a*b\n5. print c\n\nas this is not actual program but tells whats the logic behind this problem..\ni think you got answer
182266
Paraphrasing from wikipedia:\n\nAn algorithm is a procedure for accomplishing some task.\nA flowchart is a schematic representation of a process.\n\nThe distinction is that an algorithm is abstract (an idea)\nwhereas a flow chart is a concrete representation of\nthat idea.\n\nIt is like the difference between a "story" and a "book".
142824
Theory of computation\nFrom Wikipedia, the free encyclopedia\n\nThe theory of computation is the branch of computer science that deals with whether and how efficiently problems can be solved on a computer. The field is divided into two major branches: computability theory and complexity theory, but both branches deal with formal models of computation.\n\nIn order to perform a rigorous study of computation, computer scientists work with a mathematical abstractions of computers called a model of computation. There are several formulations in use, but the most commonly examined is the Turing machine. A Turing machine can be thought of as a desktop PC with an infinite memory capacity, though it can only access this memory in small discrete chunks. Computer scientists study the Turing machine because it is simple to formulate, can be analyzed and used to prove results, and because it represents what many consider the most powerful possible "reasonable" model of computation. While the infinite memory capacity might be considered an unphysical attribute, for any problem actually solved by a Turing machine the memory used will always be finite, so any problem that can be solved on a Turing machine could be solved on a desktop PC which has enough memory installed.
311184
docking\nDocking is most pertinent to the field of drug design—most drugs are small molecules, and using a computational approach allows researchers to quickly screen large databases of potential drugs (e.g., the ZINC database of compounds for virtual screening) against protein targets such as HIV reverse transcriptase\n\nalgorithm\nIn mathematics and computing, an algorithm is a procedure (a finite set of well-defined instructions) for accomplishing some task which, given an initial state, will terminate in a defined end-state. The computational complexity and efficient implementation of the algorithm are important in computing, and this depends on suitable data structures.\n\nInformally, the concept of an algorithm is often illustrated by the example of a recipe, although many algorithms are much more complex; algorithms often have steps that repeat (iterate) or require decisions (such as logic or comparison). In most higher level programs, algorithms act in complex patterns, each using smaller and smaller sub-methods which are built up to the program as a whole. In most languages, they are isomorphic to functions or methods.\n\nThe concept of an algorithm originated as a means of recording procedures for solving mathematical problems such as finding the common divisor of two numbers or multiplying two numbers. The concept was formalized in 1936 through Alan Turing's Turing machines and Alonzo Church's lambda calculus, which in turn formed the foundation of computer science.\n\nMost algorithms can be directly implemented by computer programs; any other algorithms can at least in theory be simulated by computer programs.
150345
The Hungarian algorithm is a combinatorial optimization algorithm which solves assignment problems in polynomial time. The first version, known as the Hungarian method, was invented and published by Harold Kuhn in 1955. This was revised by James Munkres in 1957, and has been known since as the Hungarian algorithm, the Munkres assignment algorithm, or the Kuhn-Munkres algorithm.\n\nTheory\nThe algorithm developed by Kuhn was largely based on the earlier works of two other Hungarian mathematicians: Denes Kőnig and Jenő Egerváry. The great advantage of Kuhn’s method is that it is strongly polynomial. The main idea of the algorithm is that it combines two separate parts in Egervery’s proof (computing a deficient set and revising the current π) into one. The procedure of covering the prime zeros can be implemented in a flow network, and automated by means of the Ford-Fulkerson algorithm. The n×m matrix is transformed in a G = (U,V) bipartite graph, with I/O capacity equal to 1. Each arc joining the nodes of the flow network represents a zero in the cost matrix. After the maximum flow is obtained, the affected arcs represent the prime zeros. The minimum cut obtained by Ford-Fulkerson automates the process of covering the independent zeros. Each node that gets "cut" on the max-flow graph represents a covered row or line on the cost matrix. However, in the Hungarian method, the assignment can be easily found on the cost matrix, yet the expansion into a max-flow sub-problem is a useful method in more complex scenarios.\n\nModeling\nThe algorithm models an assignment problem as a n×m cost matrix, where each element represents the cost of assigning the nth worker to the mth job. By default, the algorithm performs minimization on the elements of the matrix; hence in the case of a price-minimization problem, it is sufficient to begin Gaussian elimination to make zeros appear (at least one zero per line and per column). However, in the case of a profit-maximization problem, the cost matrix needs to be modified so that minimization of its elements results in maximizing the original cost values. In an infinite-cost problem, the initial cost matrix can be re-modelled by subtracting every element of each line from the maximum value of the element that line (or column respectively). In a finite-cost problem, all the elements are subtracted from the maximum value of the whole matrix.\n\nfor more details see link:\nhttp://en.wikipedia.org/wiki/Hungarian_algorithm
1103228
You have to measure the approximate number or operations for each algorithm.  Say one is O(n) and another is O(2n).  \n\ncheck out some sites about algorithm complexity\n\nhttp://www.cs.ucd.ie/staff/jcarthy/home/complexity.html\nhttp://en.wikipedia.org/wiki/Big_O_notation
157926
Choose the most repeated operation and determine of what its repeat is dependent on (amount of input data).\n\nFor example: for (int i=0; i<N; i++) { /* do something */ )\nHas complexety N because /* do something */ is repeated N times. Here N is supplied to the algorightm.\n\nFor example: Two nested loops on of N and another of M operations have complexity of N*M.\n\nYou can ignore constant additions and substractions if they dont depend on the amount of the input data (as the are constant).\n\nFor example if you initialize an array of 100 elements in the begining of the algorithem, you can ignore it instead of include it as 100+N for example :)
81883
Details of the algorithm for conversion along with\nsource program written in C can be found at.\nhttp://www.codepedia.com/1/Art_Expressions_p1\n\nA good short article on this topic.\nhttp://www.cs.man.ac.uk/~pjj/cs2121/fix.html
322643
Its of or relating to the computer language, prolog, which is commonly used for AI programs.  Its a very flexible language.
150391
It is a strings proccessing alg which uses a failure function to improve the run time rather than bm alg\nrun time:m+n\nm:the length of the pattern\nn: the length of the text\nwe use tis algorithm to find the pat string in the text string..\nmore details \nmail me at ziko@math.com\ni can provid a pascal source for it
561334
The systematic study of computing systems and computation. The body of knowledge resulting from this discipline contains theories for understanding computing systems and methods; design methodology, algorithms, and tools; methods for the testing of concepts; methods of analysis and verification; and knowledge representation and implementation.
1049892
I'll leave it to somebody else to give you the best looking guy or girl.  I'd tell you the best looking girl out there is my wife, but as she isn't high profile I'll leave it to somebody else.\n\nA loop in computer terms (or in math when speaking of algorithms) is when a specific block of code repeats a number of times.  For example:\n\nLet x be the value 100\nWhile x < 200, do the following\n...Write the value of x to the screen\n...Add one to x\n\nThis basic algorithm will write the numbers from 100 to 199 to the screen.  It is a loop, but not infinite.\n\nLet x be the value 100\nWhile x < 200, do the following\n...Write the value of x to the screen\n...Add one to y\n\nThis is a classic accidental infinite loop.  It will print out '100' forever, because the loop modifies y, not x.  Infinite loop.\n\nYour question is how to check to see if a loop is infinite.  Loops are usually defined by a boolean condition.  If that condition cannot become false, the loop is infinite.  \n\nSometimes it the condition can't become false because of poor programming.  For example, a loop is told to read a file until it reaches the word "END".  If the file is corrupt and it never finds the word "END" it'll keep trying to read the file over and over.  The operating system will keep telling it it can't read any further, but it'll keep trying anyways.  In cases like this, programmers generally leave themselves alternate exit conditions, like reading until it reaches the word "END" or trying to read further returns an error.\n\nThere's no sure way to find out if a loop is infinite or not.  You could have a loop that keeps going until the user clicks the.  Is it an infinite loop?  No, because at any time the user can hit the mouse.  But if the user has a heart attack and dies, then it's infinite.  But that can't be detected.  \n\nThe standard alternative is what's called a "time out interval."  Take a communications program.  It goes out to a web address and tries to get some data.  It sits in a loop waiting for data to come back.  But if it sits in that loop for more than 10 seconds, it "times out" and gives up.  If it had waited 11 seconds it may well have succeeded, but the programmer decided that 10 seconds was enough to decide that it wasn't going to happen.\n\nSo if you're in a situation where you can't determine if your loop is infinite or not (that is, can't determine if the condition you're checking can ever become false) you can add a time out value and break out of the loop after a certain amount of time.  But for 99% of the loops you'll ever write, just carefully putting the loop together is sufficient.\n\nHope this helps.\n\n--------------\nRelevant Computer Science joke:\nQ: How did the programmer die in the shower?\nA: The shampoo bottle said "Wash, rinse, and repeat"
805688
U can use either Kruskal's algorithm or prims algorithm. More information about these algorithm u can find on internet.\n\nPrims algorithm is based on adjacency matrix.
201370
The correct spell is algorithm.\n\nThe word in itself is a modification from the name of the first known algebrist: al-Khwarizhmiy (IX century).\n\nAlgorithm is a term used to indicate any finite and ordered sequence of actions needed and sufficient to solve a problem (even not a mathematical problem).\n\nAn exemple: any cooking recipe is an algorithm, if it gives precise measures and a precise sequence of actions to do.\n\nAnother exemple - the algorithm to decide if a number is even or not: \n- begin\n- take the number you want to test\n- take the half of the number and call it A\n- take the integer part of the half of the number and call it B\n- take the difference A-B\n- write "even" if A-B=0\n- write "odd" if A-B is not equal to 0\n- finish\n\nIf a sequence of instruction has not an end, it is called a procedure, rather than an algorithm.\n\nAn exemple of procedure:\n1- begin\n2- let A=1\n4- let A=A/2\n5- write "end" if A/2 is 0\n6- go to step 4 if A/2 is not 0\n\nTheorically, this is a never-ending procedure.\nIn fact, on any computer, for very small values of A/2, the machine will read 0 because of the limitations of the computer's number system, so it will be finished anyway.
1074572
A computer program is an algorithm used to imput some data and output a desired result. The program is written in a language (high level language or low level language). The language (high level or low lewel) is compiled (translated) in machine language (processor language)- finally a binary sequence of 0 and 1 interpreted and understand by the processor who is executing his own instructions (tasks).  Simple, no? ;)
898314
Here are some general data structures:\n\n- Set\n- List\n- Map\n- Tree\n- Table\n- Stack\n- Queue