数据结构讨论什么数据处理中数据之间的逻辑关系、数据在计算机中的存储方式和在这种“结构〞上能进行的操作(运算)。如何表示数据,如何存储数据,如何对数据进行处理3 种逻辑结构线性结构树形结构(图结构线性结构的性质和概念 性质:全序性:线性结构的全部结点两两都可以比拟前后关系。单索性:除头结点外,每个结点有唯一的直接前驱结点;除尾结点外,每个结点有唯一的直接后继结点。 概念:直接前驱、直接后继结点:前后相邻的结点;前驱、后继结点:前面、后面的结点。在不混淆的前提下,直接前驱和直接后继可简称为前驱和后继。树结构的性质和概念 性质和概念:根结点:“树的根〞,一棵树只有唯一的一个根结点。叶子结点:“树的叶子〞,一棵树有很多叶子。除根结点外,每个结点有唯一的父结点;除叶子结点外,每个结点允许有多个子结点。父亲结点,子女结点,兄弟结点,祖先结点,子孙结点。树结构是一棵“倒立的树〞。4 种存储结构顺序结构的优缺点用一块连续的、无间隙的存储空间按顺序存储各结点。各结点地址计算方法(问题 1):结点 i 的地址 = 起始地址 + i×每个结点所占存储空间大小各结点之间逻辑关系表示(问题 2):地址相邻关系就表达了结点之间的逻辑关系。顺序存储结构是在内存中开辟一个连续的空间用来存储数据,因此对于内存的需求和苛刻,必须是连续的空间.在数据查找(特别是不根据规律排列的数据),时间复杂度教少.效率高. 链式结构的优缺点链式存储结构是实行连表指针来指示数据的存储位置,这就可以是在内存中随意的存储,没有必须连续储存空间的要求,对于内存的要求相对教容易.但是要是是从小到大顺序排列的数据,链式存储结构的时间复杂度教小,效率高.但是要是不规那么排布的数据一般时间复杂度较高,效率更低算法渐进复杂度的表示方法 算法时间复杂度的渐进分析:在时间复杂度 t(n)中,剔除不会从实质上改变函数数量级的项,经过这样处理得到的函数是 t(n)的近似效率值,但这个近似值与原函数已经足够接近,当问题规模很大时尤其如此。这种效率的度量就称为算法的渐进复杂度。(在不引起混淆的情况下,也可简称时间复杂度)算法的最好、最坏和平均时间复杂度 算法的复杂度往往取决于输入数据,例如一个排序算法的时间复杂度往往取决于输入数据的原始有序程度。因此分析算法复杂度时往往要区分最好情况、最坏情况和平均情况。 例如,在一个包含 n 个元素的数组中查找某...