顺序表、链表、散列表

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

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

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

828348-20170814012114490-2134626163.png

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

链表与顺序表的操作复杂度
828348-20170814012217131-260774753.png

828348-20170814012224740-107996015.png
828348-20170814012233209-144840655.png

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

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

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

828348-20170814012334475-383823431.png

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

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

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

转载于:https://www.cnblogs.com/LSJOP/p/7355627.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值