随笔分类 -  数据结构

摘要:一、定义 1、生成树 在一个无向连通图中,如果存在一个连通子图包含原图中的所有结点和部分边,且这个子图不存在回路,那么该子图被称为原图的一棵生成树。 2、最小生成树 所有生成树中,边权和最小的那一棵(或那几棵)叫做最小生成树(MST)。 二、构造算法 有两种算法来构造最小生成树:普里姆(Prim)算 阅读全文
posted @ 2017-12-03 22:50 ColdCode 阅读(389) 评论(0) 推荐(0) 编辑
摘要:一、定义 哈夫曼树,又称最优树,是一类带权路径长度最短的树。首先有几个概念需要清楚: 1、路径和路径长度 从树中一个结点到另一个结点之间的分支构成两个结点的路径,路径上的分支数目叫做路径长度。树的路径长度是从树根到每一个结点的路径长度之和。 2、带权路径长度 结点的带权路径长度为从该结点到树根之间的 阅读全文
posted @ 2017-11-07 14:41 ColdCode 阅读(34962) 评论(1) 推荐(1) 编辑
摘要:一、定义 二叉堆是堆的一种,使用完全二叉树来实现。所谓完全二叉树,即高度为n的二叉树,其前n-1层必须被填满,第n层也要从左到右顺序填满。在二叉堆中,所有非终端结点的值均不大于(或不小于)其左右孩子的值。若非终端结点的值均不大于其左右孩子结点的值,这样的二叉堆叫做小根堆(下图中(b)),小根堆根结点 阅读全文
posted @ 2017-11-06 20:45 ColdCode 阅读(4019) 评论(0) 推荐(1) 编辑
摘要:一、定义 平衡二叉树,又称AVL树,它是一种特殊的二叉排序树。AVL树或者是一棵空树,或者是具有以下性质的二叉树: (1)左子树和右子树都是平衡二叉树; (2)左子树和右子树的深度(高度)之差的绝对值不超过1。 二、AVL树的C++实现 1、结点的定义 2、AVL树的操作 AVL树同二叉排序树一样, 阅读全文
posted @ 2017-11-05 10:17 ColdCode 阅读(22851) 评论(0) 推荐(4) 编辑
摘要:一、定义 二叉排序树,又叫二叉查找树,它或者是一棵空树;或者是具有以下性质的二叉树:1. 若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值;2. 若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值;3. 它的左右子树也分别为二叉排序树。 如下图所示: 二、二叉排序树的C++实现 阅读全文
posted @ 2017-11-04 14:36 ColdCode 阅读(37988) 评论(3) 推荐(4) 编辑

AmazingCounters.com
点击右上角即可分享
微信分享提示