顺序表、链表、散列表

线性储存的两种方式:顺序表和链表

顺序表
将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示

顺序表的两种基本实现方式
1. 一体式结构
2. 分离式结构

链表
将元素存放在通过链接构造起来的一系列存储块中

链表与顺序表的操作复杂度


填装因子
填装因子 = 散列包含的元素数 / 位置总数

• 可以使用散列函数和数组来创建散列表
• 散列表适合模拟映射关系
• 散列表适合用于防止重复
• 一旦填装因子超过0.7,就该重新调整散列的长度
• 散列表可用于缓存数据

时间复杂度
最优时间复杂度:O(1)
最坏时间复杂度:O(n)

顺序表、线性表、数组的区别

数组就是相同数据类型的元素按一定顺序排列的集合。

一句话:就是物理上存储在一组联系的地址上。也称为数据结构中的物理结构。
线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。
一句话:线性表是数据结构中的逻辑结构。可以存储在数组上,也可以存储在链表上。
线性表的结点按逻辑次序依次存放在一组地址连续的存储单元里的方法。用顺序存储方法存储的线性表简称为顺序表。
一句话:用数组来存储的线性表就是顺序表。

posted @ 2017-08-14 01:21  LSJOP  阅读(700)  评论(0编辑  收藏  举报