what is computational complexity?
114851
It is a function, that express the relation between the amount of the input data and the amount of primitive operations that will be needed to complete a task.\n\nFor example if you have to find the sum of N numbers, one trivial solution would be to scan all of them and collect the sum incrementaly. Then you will be traversed one time each number, so the computational complecity will be f(N) - you see it is linear function.\n\nAnother example is the sorting N numbers. The famous quick sort algorithm have f(log(2,N)) - it is logarithmic.\n\nOfthen this function is showed as theta from the greek alphabet :)
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.
284931
Computers make possible the study of the\nstructure of the biochemical molecules.\nThe computations are simply out of the\nquestion without lots of computer power.
526760
go to the source - The Art of Computer Programming by Donald Knuth.  It is the bible of data structures.
772919
Imagine that a travelling salesman has to hit, say, 100 cities in the USA, and he knows road distances between them, what's the minimum distance he has to travel to do all of them and come back home?  There are numerous variations on this problem, but this kind of a problem usually defies mathematical analysis.  It's called a "NP-hard' problem, which is a measure of the time it takes a computer to determine the optimum path.
289917
Time complexity is a representation of the number of operations your algorithm (or program) does versus the size of input.  There are 5 types of this; Big-O, Big Omega, Big Theta, little-O, and amoratized.  These reference a graph representation of how your code does vs some function (the graph is actually a representation of limits but the math is mute here).\n\nBig-O means that in the worst case your algorithm will run in a time less then the function within the Big-O.  For example if you had a function that took exactly (n^2)+ C n operations (where n is the size of your input) we would say that it was O(n^2) because even though it has some constant C times n added on this number is insignificant to the size of n^2.  Therefore it can be dropped and we can say that it runs in a time of O(n^2).  Again this  calculates worst case efficiency.\n\nBig Omega means that your funtion is bounded below (on the graph) by the function of the Big Omega. This calculates best case efficiency.\n\nBig Theta means that your function is bounded on both sides by the function of the Big Theta (thus it is asymtotically tight... or in simple terms equal to). This calculates average time efficiency.\n\nlittle oh is rarely used in analysis of algorithms and is similar to big-O but the limits are different.  Im not going to explain this here.\n\nAmortized efficiency does not apply to a single run of an algorithm but rather to a sequence of operations performed on the same data structure.  For instance for a stack the pop operation is given a cost of 2 where the push operation is given a cost of 0.  The push can then borrow from the pops overpay.  This need a better explanation then this but if you want that then you can ask me specifically or look it up.\n\nHope this helps out.  Best of luck.
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
482952
The technology is called clustering.\n\nHere's a good page for general information regarding clustering for both computational and high availability purposes:  http://lcic.org/\n\nQuick and easy way to build your own cluster: http://idea.uab.es/mcreel/ParallelKnoppix/\n\nCreative use of clustering: http://www.accrc.org/cluster/
270102
Irreducible complexity is a controversial concept invoked in support of intelligent design which claims that the generally accepted scientific theory that life evolved through biological evolution by natural selection is incomplete and flawed and that some additional mechanism is required to explain the origins of life. An irreducibly complex system is defined as one that could not possibly have been formed by successive, slight modifications to a functional precursor system.\n\nThe concept was popularized by Lehigh University biochemist and Fellow of the Discovery Institute Michael Behe in his 1996 book Darwin's Black Box, wherein Behe argued that there are biochemical systems which are "irreducibly complex" because he saw no way in which these systems could be broken down into smaller functioning systems. With this argument, the book in effect supports what is known as intelligent design, a form of the argument from design, which is one of the arguments for the existence of a supernatural deity.
81655
Yes:  theory of computational systems.
569760
Theoretical computer science is the collection of topics of computer science that focuses on the more abstract and mathematical aspects of computing, such as the theory of computation, analysis of algorithms and semantics of programming languages.
668885
finding bugs ...based on Mc Cabe's cyclomtic complexity
1160435
computer programming is basically giving computers a set of instructions.
634162
I found the programming algorithms the most difficult.
346407
I think it is order(N squared), so not very good. It's a variant of bubble sort, which you can google. Plus you never know when you're done!
80881
A quantum computer is any device for computation that makes direct use of distinctively quantum mechanical phenomena, such as superposition and entanglement, to perform operations on data. In a classical (or conventional) computer, the amount of data is measured by bits; in a quantum computer, it is measured by qubits. The basic principle of quantum computation is that the quantum properties of particles can be used to represent and structure data, and that devised quantum mechanisms can be used to perform operations with this data. For a generally accessible overview of quantum computing, see Quantum Computing with Molecules, an article in Scientific American by Neil Gershenfeld and Isaac L. Chuang.\n\nhttp://www.answers.com/topic/quantum-computer?method=22
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