前言:第一次写博客,可能不是很专业,主要是记录一下个人在学习中的见解和总结,同时也希望对他人有所帮助,文章有不对的地方也希望大家可以指出来
正文
顺序表是个什么?
定义:是一种线性数据结构,元素在内存中连续储存,支持通过下标随记(任意)访问
如Python的list(数列),Java的Arraylist(数组)都是顺序表的体现
应用场景:需快速访问,少中间增删
顺序表操作分为增、删、改、查四大类
优势:快速随机访问(已知位置,通过下标直接访问元素)
OS:后来我才发现这里面的随机≈任意
(╬ ̄皿 ̄)
缺点:中间插入/删除效率低
原理╭☞(  ̄ ▽ ̄)╭☞
- 像去食堂吃饭排队(数列),有人插队(增),后面的人(数列中的元素)就算不爽也要往后挪(移动元素),插队的人插的越靠前,后面人挪动位置的时间就越久
- 然后某个人(数列中的某一元素)突然接到电话要离开(删),后面的人要上前把空缺的位置补上
- 原地换人,不影响队伍(改),无论换谁速度都很快
- 按位置找人(查),不需要从队首一个一个数着找,因为每个人下面都有对应的数字(下标),无论队伍多长,耗时都是相同的
顺序表又分为静态顺序表和动态顺序表
静态顺序表:
初始给定固定容量,满了就装不下了
动态顺序表:
初始给定固定容量,满了自动按需扩容(上限高),但是比较吃性能开销
3536

被折叠的 条评论
为什么被折叠?



