加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

线性表--题目(从顺序表中删除所有元素值为x的元素)

(2013-03-05 21:30:17)
分类: 数据结构
1.问题描述:设计一个高效算法,从顺序表中删除所有元素值为x的元素,要求空间复杂度为O(1)
2.解题思路:(1)首先确定顺序表L中第一个值为x的元素的位置i,然后依次检查L.data[i+1]~L.data[L.length-1]中每个元素L.data[j](i+1<=j
http://s11/mw690/8f767ec6gd72d91bd979a&690
(2)从头开始扫描顺序表L,用k记录下元素值等于x的元素个数,对于不等于x的元素,前移k个位置。这种算法的时间复杂度为O(n),其中n为顺序表的长度。具体实现代码如下:
http://s2/mw690/8f767ec6g7beaf5beaaa1&690
上面两种方法的空间复杂度:由于其辅助空间不随着N的增大而增大,因此为常量级,因此,空间复杂度为O(1),满足题目要求。



0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有