- 15
- 0
- 约小于1千字
- 约 2页
- 2021-01-27 发布于山东
- 举报
数据结构
一般将数据结构分为两大类:线性数据结构和非线性数据结构。
线性数据结构有: 线性表、栈、队列、串、数组和文件;
非线性数据结构有: 散列表、树和图。
线性表
线性表的逻辑结构是n 个数据元素的有限序列:
(a1, a2 ,a3,…an)
n 为线性表的长度(n ≥0),n=0 的表称为空表。
数据元素呈线性关系。必存在唯一的称为“第一个”的数据元素;必存在唯一的称为“最后一
个”的数据元素;除第一个元素外,每个元素都有且只有一个前驱元素; 除最后一个元素外,
每个元素都有且只有一个后继元素。
所有数据元素在同一个线性表中必须是相同的数据类型。
线性表按其存储结构可分为顺序表和链表。用顺序存储结构存储的线性表称为顺序表;用链式
存储结构存储的线性表称为链表。
将线性表中的数据元素依次存放在某个存储区域中,所形成的表称为顺序表。一维数组就是用顺
序方式存储的线性表。
链表
栈(Stack)也是一种特殊的线性表,是一种后进先出(LIFO)的结构。
栈是限定仅在表尾进行插入和删除运算的线性表,表尾称为栈顶(top),表头称为栈底(bottom) 。
栈的物理存储可以用顺序存储结构,也可以用链式存储结构。
队列(Queue)是限定所有的插入只能在表的一端进行,而所有的删除都在表的另一端进行的线性
表。
表中允许插入的一端称为队尾(Rear),允许删除的一端称为队头(Front) 。
队列的操作是按先进先出(FIFO)的原则进行的。
队列的物理存储可以用顺序存储结构,也可以用链式存储结构。
散列表又称为哈希表。散列表算法的基本思想是:
以结点的关键字为自变量,通过一定的函数关系(散列函数)计算出对应的函数值,以这个值
作为该结点存储在散列表中的地址。
当散列表中的元素存放太满,就必须进行再散列,将产生一个新的散列表,所有元素存放到新
的散列表中,原先的散列表将被删除。在C#语言中,通过负载因子(load factor)来决定何时对散
列表进行再散列。例如:如果负载因子是0.75,当散列表中已经有75%的位置已经放满,那么
将进行再散列。
负载因子越高(越接近1.0),内存的使用效率越高,元素的寻找时间越长。负载因子越低(越接近
0.0),元素的寻找时间越短,内存浪费越多。
您可能关注的文档
最近下载
- 陆上风力发电设备监理控制点、通用表单、监理服务参考文件.pdf VIP
- 第二章-固体材料表面与界面电子过程.ppt VIP
- 在带头强化政治忠诚、提高政治能力等“五个带头”方面个人对照检查材料【两篇】供参考2026.docx VIP
- 喷漆车间通风除尘系统设计.doc VIP
- 《内科护理》课件——第5章 第02节 肾小球疾病病人的护理.ppt VIP
- 电路与模拟电子技术殷瑞祥习题答案标准版高等教育出版社.doc VIP
- 2023-2024年浙江省宁波市海曙区六年级下册期末语文试卷及答案(统编版).doc VIP
- GB∕T 33328-2016 色漆和清漆 电导率和电阻的测定.pdf
- 水利-干旱灾害风险调查评估与区划编制技术要求.pdf VIP
- 小学四年级下册科学教案全册.docx VIP
原创力文档

文档评论(0)