17.3.22--关于删除

    这几天在弄数据结构的课程设计,首先我弄的题目是--多项式的运算和集合处理,通过自己敲代码,找资料,我突然发现一个关于删除的问题。

   1)首先是对于C语言数组中的删除重复元素,或者是删除指定位置·的元素,还有删除指定元素,这些都是C语言数组常见的删除问题,但是对于C语言数组元素的删除,不是像我们想象的那样,彻底将那一个内存块清理干净,而是简单的替换,就是用一个标志的数值来代替你原有的数值,然后我们能识别到这个是数组中要删除的元素即可。

----->这种删除叫做lazy deletion   (懒删除)

----->(1)某些情况下删除是一种昂贵的操作,这个时候我们可以采用懒惰删除的办法。 
(2)简单的标记要删除的节点是为已删除。然后在查找等例程里面都人为的忽视标记过的节点. 
(3)如果标记删除的节点大于总数一半,就进行一次遍历,删除所有标记节点.

  2)其实考虑删除,要考虑两点  (1)就是内存问题,若果内存大,那么就可以采用这种懒删除

                   (2)要是内存很小  ,就得把废物立刻删除,给别的程序留地方

  3)再说一下  关于链表的删除,链表元素的删除就很容易,因为他是动态分配内存,节点与节点用指针相连,那么删除时,可以直接把内存单元释放掉,比较节省内存。

转载于:https://www.cnblogs.com/xiaoyoucai/p/6598672.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值