数据结构 顺序表与链表——算法练习(一)

本文讨论了如何在顺序存储结构的列表中高效地删除特定值的元素,提出了两种不同的算法策略。接着,介绍了一个将顺序表中的元素按基准值进行划分的方法,通过前后交换元素实现排序。最后,详细阐述了稀疏多项式的加法运算过程,包括如何合并相同指数的项和处理不同指数的项。
摘要由CSDN通过智能技术生成

Q1:已知长度为n的L List采用顺序存储结构。设计一个时间复杂度为\mathit{O}\left ( n \right ),空间复杂度为\mathit{O}\left ( 1 \right )的算法,该算法删除List中所有值为x的数据元素。

思路:

两种不可行的方法:1. 每删除一个值为x的元素,就将后面的所有元素前移—— 时间复杂度为\mathit{O}\left ( n^{2} \right )

2. 建立一个新列表,存放list中所有不为x的元素—— 空间复杂度为\mathit{O}\left ( n \right )

A1:

方法一:扫描L,重建L用不为x的元素

//Implement 1
void delete(cons
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值