算法:
由基本运算及规定的运算顺序构成的完整的解题步骤,或者是按要求设计好的有限的确切的计算序列。
特点:有穷性;确定性;输入;输出;可行性
时间复杂度
·将算法中基本操作的执行次数作为算法时间复杂度的度量
·算法执行所要耗费的时间,时间越短,算法越好。首先,算法代码执行的时间往往和算法代码中语句执行的数量有关。另外,算法的时间复杂度还与问题的规模有关。
·常用的比较关系:
O(1) <= O(log2(n)) <= O(n) <= O(n*log2(n)) <= O(n^2) <=O(n^3) <= ... <= O(n^k) <= O(2^n)
空间复杂度:
·算法程序在计算机中执行所需要消耗的存储空间。空间复杂度,可以分为两个方面:
(1)程序保存所需要的存储空间,也就是程序的大小。
(2)程序在执行过程中所消耗的存储空间资源,例如在执行过程中的中间变量等。
注意:
·无论何时只要你确定一个指向,那么你就必须保证该指针不是NULL
·创建尚未被声明过的记录的惟一方法是使用malloc库函数,malloc(HowManyBytes)使系统创建一个新的结构并返回指向该结构的指针。