非常实用的数据构造知识点总结数据构造知识点概括第一章 概 论数据就是指可以被计算机识别、存储和加工处理的信息的载体。数据元素是数据的基本单位,可以由若干个数据项构成。数据项是具有独立含义的最小标识单位。数据构造的定义:·逻辑构造:从逻辑构造上描述数据,独立于计算机。·线性构造:一对一关系。·线性构造:多对多关系。 ·存储构造:是逻辑构造用计算机语言的实现。·次序存储构造:如数组。 ·链式存储构造:如链表。 ·索引存储构造:·稠密索引:每个结点均有索引项。 ·稀疏索引:每组结点均有索引项。 ·散列存储构造:如散列表。·数据运算。·对数据的操作。定义在逻辑构造上,每种逻辑构造均有一种运算集合。 ·常用的有:检索、插入、删除、更新、排序。数据类型:是一种值的集合以及在这些值上定义的一组操作的总称。 ·构造类型:由顾客借助于描述机制定义,是导出类型。 抽象数据类型 ADT:·是抽象数据的组织和与之的操作。相称于在概念层上描述问题。 ·长处是将数据和操作封装在一起实现了信息隐藏。程序设计的实质是对实际问题选择一种好的数据构造,设计一种好的算法。算法取决于数据构造。算法是一种良定义的计算过程,以一种或多种值输入,并以一种或多种值输出。 评价算法的好坏的原因:·算法是对的的; ·执行算法的时间;·执行算法的存储空间(重要是辅助存储空间);·算法易于理解、编码、调试。 时间复杂度:是某个算法的时间花费,它是该算法所求解问题规模 n 的函数。 渐近时间复杂度:是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。 评价一种算法的时间性能时,重要原则就是算法的渐近时间复杂度。 算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取值有关。 时间复杂度按数量级递增排列依次为:常数阶 O(1)、对数阶 O(log2n)、线性阶 O(n)、线性对数阶 O(nlog2n)、平方阶 O(n^2)、立方阶 O(n^3)、……k 次方阶 O(n^k)、指数阶 O(2^n)。 空间复杂度:是某个算法的空间花费,它是该算法所求解问题规模 n 的函数。 算法的时间复杂度和空间复杂度合称算法复杂度。第二章 线性表线性表是由 n≥0 个数据元素构成的有限序列。n=0 是空表;非空表,只能有一种开始结点,有且只能有一种终端结点。 线性表上定义的基本运算: ·构造空表:Initlist(L) ·求表长:Listlength(L) ·取结点:GetNode(L,i) ·查找:Lo...