1.什么是算法?
算法就是对特定问题的求解步骤。
2.算法的5个重要的特征:
有穷性、确定性、可行性、输入(零个或多个)、输出(一个或多个)。
起初学习C语言时,书上有这么一个公式:程序=数据结构+算法。现在感觉有点理解了。
3.算法的设计要求
正确性、可读性、健壮性、效率与存储空间需求
4.算法的度量
.时间度量:即运行时间的长短。分为事前分析估算的方法和事后统计的方法,此两种方法可以相互印证,在比较各种排序算法时可以实践下。
时间复杂度的各种对比: O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(2^n)<O(n^n),以上公式中均乘以一个常数K会更合理。
(此处缺张这几个函数的比较图,没必要自己画了,没啥意义,啥时候有的话贴过来即可,更直观些!)
.空间度量:即所占空间的大小。
5.什么叫数据结构
是数据元素之间的某种关系。
根据数据元素相互之间的关系,通常有四类基本机构:
集合(除了是一个集合,别无其他关系)、线性结构(一对一)、树形结构(一对多)、图状结构也称网状结构(多对多)
6.数据结构分为物理结构和逻辑结构
逻辑结构是指描述方式(算法设计时),物理结构是指存储方式(算法实现时)。
物理结构非为两种:顺序存储结构和链式存储结构。
对于一种数据结构,其逻辑结构是唯一的,但是它可能对应着多种存储结构