php常用命令
Once an algorithm is given for a problem and decided to be correct, an important step is to determine how much in the way of resources,such as time or space, the algorithm will require.
The important things to know are:
1)It‘s very bad style to include constants or low-order terms inside a Big-Oh
2)This means that in any analysis that ignore lower-order terms and constants.
Example: Do not say T(N) = O(2N^2) or T(N) = O(N^2 + N);
The correct form is T(N) = O(N^2).
General Rules:
Rule1: for loop:
The running time of a for loop is at most the running time of the statements inside the for loop(including tests) times the number of iterations.
As an example, the following program fragment is O(N):
for(i=0; i<N; i++) k++;Rule2:Nested for loop:
Analyze these inside out. The total running time of a statement inside a group of nested loops is the running time of the statement multiplied by the product of the sizes of all the for loops.
As an example, the following program fragment is O(N^2):
for(i=0; i<N; i++) for(j=0; j<N; j++) k++;Rule3:Consecutive Statements:
These just add(which means that the maximum is the one that counts).
As an example, the following program fragment, which has O(N) work followed by O(N^2) work, is also O(N^2):
for(i=0; i<N; i++) A[i] = 0; for(i=0; i<N; i++) for(j=0; j<N; j++) A[i] += A[j]+i+j;
Rule4:if/else:
For the fragment
if(Condition)
S1
else
S2
The running time of an if/else statement is never more than the running time of the test plus the larger of the running times of S1 and S2.
Notices:
A basic strategy of analyzing from the inside(or deepest part) our works.
If there are function calls, these must be analyzed first.
Reference:
Data Structures and Algorithm Analysis in C .Second Edtion
Than you for reading!
--By lzq at NanYang May.26.2014
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。