1.1.概念:
1.数据:非数值数据和数值数据,从计算机的角度讲,是计算机所加工处理的描述客观事物的表示;
2.数据元素: 数据的基本单位,是数据集合中的一个个体;数据元素也称为元素、节点、顶点、记录;
3.数据项:数据的最小单位。数据项组成数据元素,数据元素组成数据;数据项也称为字段;
4.数据结构:指数据元素及数据元素之间的联系,可以看做是相互之间存在着某种特定关系的数据元素的集合;
5.逻辑结构:是对数据元素之间逻辑关系的描述;与数据的存储方式无关;
6.存储结构:是数据元素的逻辑结构在计算机中的存储器中的映像表示;是数据结构在计算机中的实现方法,包括数据结构中元素的表示及数据元素之间关系的表示;
1.2.逻辑结构:
1.2.1.逻辑结构的种类:
1.2.1.逻辑结构的种类:
1.集合结构:数据元素除了“属于同一集合”外,没有其他关系;
2.线性结构:数据元素之间是“一对一”关系,除第一个和最后一个元素,都存在前驱元素和后继元素;
3.树形结构:存在“一对多”关系,除根节点外,都存在唯一一个前驱元素和多个后继元素;
4.图结构:存在“多对多”的关系,每个元素有多个前驱元素和后继元素;
1.2.2.注意:
1.逻辑结构与数据元素的本身的形式和内容无关;2.与数据元素的相对位置无关;3 与所含数据元素的个数无关;
1.3.存储结构:
1.2.1.分类:
1.顺序存储结构:通常使用数组来实现;节省存储空间,不便于修改;
2.链式存储结构:通常使用指针来实现;便于修改,利用率较低;
3.索引存储结构:能插入、删除等,增加了索引表从而降低了存储空间的利用率;
4.哈希存储结构:根据数组元素的关键字通过哈希函数算出该数据元素的存储地址;
1.3.算法分析:
1.3.1.定义和描述:
1.算法必须满足一下条件:有穷性、确定性、可行性、输入、输出;
2.算法和程序不同:算法给出了问题的求解,而程序仅仅实在计算机上的实现,一个算法若使用程序设计语言来解决,则此时算法是一个程序;
1.3.2.算法分析和算法度计算:
1.时间复杂度:程序运行从开始到结束所用的时间;
2.空间复杂度:程序运行从开始到结束所用的存储量;
3.频度:它在算法中被重复执行的次数;
4.计算时间复杂度时,遵循求和准则和求积准则:
执行一条读写语句或赋值语句所用的时间是O(1);
条件语句if的耗时主要是条件为真时执行的时间,但是判断是否为真还需要执行的时间为O(1);
依次执行的语句采用求和准则,如:O(m+n);
循环语句采用求积准则,如:O(n^3);表示n的3次方;