学习笔记 数据结构 堆结构
2012-07-15 10:31
183 查看
堆结构: 实质是数组
特点:以数组的形式去存储完全二叉树
原理:以前序遍历完全二叉树,得出结点的前序序列,以数组的形式存储该序列。
查找父,子结点通过数组下标ID间的转换关系实现。
优点:节省存储空间,查询效率高
缺点:1·只能表示完全二叉树(更广泛的可以说是完全n叉树)
2·对树的插入,删除操作执行效率低
3·事先必须知道树节点个数,以确定数组大小
联想:其优缺点都是由于其实现原理决定的,以特定的顺序遍历树节点,得出相应的序列,使得父子结点下标拥有固定的转换关系,从而省掉了指向父结点和子节点的指针变量,节省空间,提高查询效率。但是一但遍历的序列发生改变,位置发生改变的数据项就要移动到相应的位置,所以对于影响序列的插入,删除操作执行效率很差。由于数组的空间是固定的,对于插入操作的支持也是很有限的。
特点:以数组的形式去存储完全二叉树
原理:以前序遍历完全二叉树,得出结点的前序序列,以数组的形式存储该序列。
查找父,子结点通过数组下标ID间的转换关系实现。
优点:节省存储空间,查询效率高
缺点:1·只能表示完全二叉树(更广泛的可以说是完全n叉树)
2·对树的插入,删除操作执行效率低
3·事先必须知道树节点个数,以确定数组大小
联想:其优缺点都是由于其实现原理决定的,以特定的顺序遍历树节点,得出相应的序列,使得父子结点下标拥有固定的转换关系,从而省掉了指向父结点和子节点的指针变量,节省空间,提高查询效率。但是一但遍历的序列发生改变,位置发生改变的数据项就要移动到相应的位置,所以对于影响序列的插入,删除操作执行效率很差。由于数组的空间是固定的,对于插入操作的支持也是很有限的。
相关文章推荐
- 深层次两张图解经典6大排序与6大基础数据结构——学完这些,妈妈再也不用担心我的排序算法与数据结构,学习笔记大放送
- 数据结构 学习笔记(三):线性结构:堆栈,队列,表达式求值,多项式加法运算
- 数据结构学习笔记一:数据结构基础
- Laravel学习笔记(五)数据库 数据库迁移案例2——创建数据结构,数据表,修改数据结构
- 网易云课堂-陈越、何钦铭-数据结构-2016春,02-线性结构1 一元多项式的乘法与加法运算,学习笔记
- 数据结构学习笔记之树结构
- 数据结构 学习笔记(二):线性结构:线性表(顺序表,链表,广义表,多重链表)
- 【学习笔记----数据结构16-图的存储结构】
- 数据结构学习笔记4——结构梳理
- 数据结构学习笔记之图结构
- 数据结构学习笔记之线性结构--离散存储[链表]
- 数据结构与算法学习笔记之--数据结构
- python数据结构学习笔记-2016-11-26-02-树结构
- 数据结构学习笔记——二叉树的存储结构
- 【Java数据结构学习笔记之一】线性表的存储结构及其代码实现
- 数据结构学习笔记--线性结构(链表)
- 小楼一阁的数据结构学习笔记(一、数据结构绪论)
- Lua数据结构的学习笔记
- mybatis学习笔记-实例程序结构
- [中级数据结构学习笔记]一、Treap