* search array => O(1) linked list=> O(n) binary tree=> O(log n) hash=>O(1) * search array => O(1) linked list=> O(n) binary tree=> O(log n) hash=>O(1)
data structure is a way of storing data in a computer so that it can be used efficientlyan algorithm is a sequence of instructions, often used for calculation and data processing.Often a carefully chosen data structure will allow the most efficient algorithm to be used.
The algorithm will have both a constant time complexity and a constant space complexity: O(1)
"Running Time" is essentially a synonym of "Time Complexity", although the latter is the more technical term. "Running Time" is confusing, since it sounds like it could mean "the time something takes to run", whereas Time Complexity unambiguously refers to the relationship between the time and the size of the input.
Time complexity and space complexity.
Finding a time complexity for an algorithm is better than measuring the actual running time for a few reasons: # Time complexity is unaffected by outside factors; running time is determined as much by other running processes as by algorithm efficiency. # Time complexity describes how an algorithm will scale; running time can only describe how one particular set of inputs will cause the algorithm to perform. Note that there are downsides to time complexity measurements: # Users/clients do not care about how efficient your algorithm is, only how fast it seems to run. # Time complexity is ambiguous; two different O(n2) sort algorithms can have vastly different run times for the same data. # Time complexity ignores any constant-time parts of an algorithm. A O(n) algorithm could, in theory, have a constant ten second section, which isn't normally shown in big-o notation.
The complexity of an algorithm is the function which gives the running time and/or space in terms of the input size.
data structure is a way of storing data in a computer so that it can be used efficientlyan algorithm is a sequence of instructions, often used for calculation and data processing.Often a carefully chosen data structure will allow the most efficient algorithm to be used.
The algorithm will have both a constant time complexity and a constant space complexity: O(1)
"Running Time" is essentially a synonym of "Time Complexity", although the latter is the more technical term. "Running Time" is confusing, since it sounds like it could mean "the time something takes to run", whereas Time Complexity unambiguously refers to the relationship between the time and the size of the input.
Complexity of an algorithm is a measure of how long an algorithm would take to complete given
Finding a time complexity for an algorithm is better than measuring the actual running time for a few reasons: # Time complexity is unaffected by outside factors; running time is determined as much by other running processes as by algorithm efficiency. # Time complexity describes how an algorithm will scale; running time can only describe how one particular set of inputs will cause the algorithm to perform. Note that there are downsides to time complexity measurements: # Users/clients do not care about how efficient your algorithm is, only how fast it seems to run. # Time complexity is ambiguous; two different O(n2) sort algorithms can have vastly different run times for the same data. # Time complexity ignores any constant-time parts of an algorithm. A O(n) algorithm could, in theory, have a constant ten second section, which isn't normally shown in big-o notation.
Time complexity and space complexity.
perhaps...
Dijkstra's original algorithm (published in 1959) has a time-complexity of O(N*N), where N is the number of nodes.
time complexity is 2^57..and space complexity is 2^(n+1).
please read data structure (schaum series) books
Basically it depends on your condition of the program but one should have these things in mind while making/writing an algorithm..... 1. Use minimum variable as much as possible. 2. Try to use the pointers instead of array's to allocate the memory at the run time. 3. Always check for the time and space complexity for the algorithm. 4. Use the exact data structure for the given problem.