数据结构(二)线性表 (顺序存储结构与链式存储结构)

二、线性表(掌握纲要)

1.线性关系、线性表的定义,线性表的基本操作;

2.线性表的顺序存储结构与链式存储结构(包括单(向)链表、循环链表和双向链表)的构造原理;

3.在以上两种存储结构的基础上对线性表实施的基本操作,包括顺序表的插入与删除、链表的建立、插入与删除、查找等操作对应的算法设计(含递归算法的设计)。

 

 

具体内容:

1.线性关系、线性表的定义,线性表的基本操作;

 

 

2.线性表的顺序存储结构与链式存储结构(包括单(向)链表、循环链表和双向链表)的构造原理;

 


 

 

 

 

 

 


          

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

下面方法为加入一个p结点后,判断链表从【头结点】到【p指针指向的结点】之间有没有与p->data相等的值,

有则删除p结点,没有则p指向下一个结点

上面的方法有点笨,就是每判断一个结点都要从头全部判断一遍,有n个相同的值的话,就得重复遍历n-1次来减去相同的数据的结点。

 

较快的做法是,

定义指针p为从头结点开始,q初始化为q的下一个指针,r定义为q的前一个指针,遍历q,删除与p相同数据的结点。

这样一个循环就可以将所有与p相同的结点都删除了。

不过这个做法也是O(n^2). 

但理论上比前一个做法优秀一点。

 

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值