首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于数据结构里的惰性删除,该怎么处理

2012-03-19 
关于数据结构里的惰性删除C/C++ codeenum Status{EMPTY,ACTIVE,DELETED}templateclass Objectstruct No

关于数据结构里的惰性删除

C/C++ code
enum Status{EMPTY,ACTIVE,DELETED};template<class Object>struct Node{    Object element;    Status elementStatus;};

数据结构和算法里经常遇到这个术语,开始没在意,当我研究到散列第3次碰到它,可我这本书没讲怎么实现,然后我自己思考是不是就如我上面代码所描述的呢?
比如说我要删掉一个元素,也就是要删掉一个节点,但是我并不删除我只把里面的elementStatus置为DELETED;
然后我再插入相同的元素,这个时候我在把节点里的elementStatus置为ACTIVE
这样我就不需要来回的释放和分配内存了,是不是就是这个意思?

[解决办法]
bingo
[解决办法]
完全正确。
一些高性能算法里会适当的使用这个技巧,以减少内存分配带来的开销。

热点排行