一、线性表:数据元素的排列方式是线性。
>>顺序表 思想:用一组地址连续的存储单元依次存放的数据元素。
特点:
顺序表存储密度较大,节省空间;
但需要事先确定容量,在时间性能方面,读运算较快,时间复杂度为O(1);
查找运算为O(n/2),和链表同样;
插入运算和删除运算如果要操作中间一个元素,比如3,那么就需要把3后面的元素全部进行移动,因此时间
复杂度相对链表要大一些,插入时间复杂度最好为O(0)或最坏为O(n);
删除时间复杂度为O([n-1]/2);
>>链表 思想:元素的存储空间是离散的,单独的,它们可以通过在逻辑上指针的联系使得它成为了整体的链表。
特点:从空间性能来看,链表的存储密度要差一些,但在容量分配上更灵活一些。从时间性能来看,查找运算
与顺序存储相同,插入运算和删除运算的时间复杂度为O(1),要更优于顺序存储,但读运算则弱一些,
为O([n+1]/2),最好为1,最坏为n。
1.单链表
2.单循环链表
3.双向循环链表
二、栈和队列(栈和队列是特殊的线性表)
>>栈:允许在表的一端插入和删除的线性表。栈底,不允许操作,栈顶,允许操作。
栈的操作原则:LIFO后进先出
>>队列:允许在表的一端插入,另一端删除的线性表
队列的操作原则:FIFO先进先出
1.顺序队列
2.循环队列
三:数组和广义表
>>数组:不能进行插入和删除
>>广义表:数据可以是原子或者表
线性结构
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- (数据结构与算法总是联系在一起) -数据结构简介 eg:图书摆放 新书的插入与旧书的查取(随便放:新书插入方便、但...