本文共 944 字,大约阅读时间需要 3 分钟。
数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上数据元素间关系的有限集合。
数据结构包括数据的逻辑结构、数据的存储结构和数据的运算三个方面的内容。
数据结构按逻辑结构可分为线性结构和非线性结构两大类。
数据结构按逻辑结构可分为四小类:集合、线性结构、树形结构和图形结构。
集合结构的元素之间无关系,线性结构的元素之间关系一对一,树形结构中元素间关系一对多,图形结构中元素间关系多对多。
线性结构中,第一个结点无前驱结点,最后一个结点无后续结点,其余结点有一个前驱结点和一个后续结点。
树形结构中,树根结点无前驱结点,叶子结点无后续结点,其余结点有一个前驱结点和一个及以上后续结点。
图形结构中,每个结点的前驱结点和后续结点都可以有多个。
4种常用的存储结构类型:1. 顺序 2. 链式 3. 散列/哈希 4. 索引。
最常用的5种数据运算:1. 插入 2. 删除 3. 修改 4. 查找 5. 排序。
一个算法的效率可分为空间效率和时间效率。
数据结构是讨论数据的逻辑结构和存储结构,以及它们之间的相互关系,并对这种结构定义相应的操作,设计出相应的算法。
应用软件指专门为某一目的而编制的软件。
数据结构中,与所使用的计算机无关的是数据的逻辑结构。
算法设计应该满足5个目标:1. 正确性 2. 可使用性 3. 可读性 4. 健壮性 5. 高效率与低存储量需求。
算法分析的目的是分析算法的效率以求改进。
算法必须具备1. 输入 2. 输出 3. 可行性 4. 确定性 5. 有穷性。
算法的可行性是指每一条指令都应在有限的时间内完成。
一个递归算法必须包括终止条件和递归部分。
算法的时间效率复杂度由小到大排序:c < log2N < n < n * Log2N < n^2 < n^3 < 2^n < 3^n < n!
连续存储设计时,存储单元的地址一定连续。
算法的时间复杂度是指该算法所求解问题频度的函数。
数据结构是针对非数值计算的程序设计问题产生的。
数据结构是指数据的组织形式。
计算机内部处理的基本单元是数据元素。
算法的时间复杂度取决于问题的规模和待处理数据的初始状态。
存储数据时,通常不仅要存储个数据元素的值,而且还要存储数据元素之间的关系。
转载地址:http://fpeq.baihongyu.com/