第三天:基本数据结构--队列
2013-12-25 21:50
375 查看
队列在实现上比较简单,在C中一般使用数组或链表实现。
对于队列主要有一点需要主要,就是内存问题。如果入队new,出队delete一般情况下会导致队列在内存中不断后移,这个过程会使内存碎片化,最终导致无合适内存可用。避免这个问题有两个方法:1、使用自己的函数来申请和释放内存,维护一个内存池,这种方式也是解决内存碎片的通用方式,不局限于队列。2、维护两个链表,当出队的时候不删除而是将该节点添加到另一个维护空闲节点的列表中。其实方法2可以认为是方法1的具象化版本,两个方法的思虑是相通的。
对于队列主要有一点需要主要,就是内存问题。如果入队new,出队delete一般情况下会导致队列在内存中不断后移,这个过程会使内存碎片化,最终导致无合适内存可用。避免这个问题有两个方法:1、使用自己的函数来申请和释放内存,维护一个内存池,这种方式也是解决内存碎片的通用方式,不局限于队列。2、维护两个链表,当出队的时候不删除而是将该节点添加到另一个维护空闲节点的列表中。其实方法2可以认为是方法1的具象化版本,两个方法的思虑是相通的。
相关文章推荐
- 数据结构-链队列的基本操作
- 数据结构:实验四栈和队列的基本操作实现及其应用
- 数据结构学习笔记(二) 链表之链队列基本操作
- 数据结构-循环顺序队列的基本操作
- 数据结构--链队列的基本操作
- 基本数据结构——栈、队列和单链表
- 【学习笔记10】基本数据结构(栈 队列 链表 有根树)
- 《算法导论》第十章——基本数据结构(一):栈与队列
- 栈和队列数据结构的基本概念及其相关的Python实现
- 数据结构--循环队列的基本操作
- 基本数据结构:队列(queue)
- 数据结构 链队列基本操作
- 数据结构-循环队列的基本实现操作
- Java模拟栈和队列数据结构的基本示例讲解
- 几种基本数据结构--栈、队列、双向链表、有根树的分析和简单实现
- 数据结构--链队列基本操作
- 第十章 基本数据结构——栈和队列
- 数据结构循环队列的基本操作(C语言)
- 用Python实现基本数据结构——栈与队列
- 跟着郝斌学数据结构(06)——队列(数组队列基本的一些问题)