树算法
咻哈
为了能更好更快乐的学习而学习,我已经能快乐的学习了。
展开
-
二叉排序树 与 平衡二叉树
二叉排序树:根节点值大于树的左叶子结点值,且根节点值小于右叶子节点值平衡二叉树:1.平衡二叉树是二叉排序树,是二叉排序树的改良版,相同序列平衡二叉树的高度小于或等于二叉排序数的 高度, 所以平衡二叉树的查找比二叉排序树快。但平衡二叉树的创建过程,保证二叉树平衡调整次数较多。 2.平衡二叉树的左右叶子结点高...原创 2020-01-10 19:22:31 · 4036 阅读 · 1 评论 -
二叉树非递归实现先序、中序、后序遍历
创建先序遍历序列二叉树 测试数据: ABC000DE0F00G00 (这是一个先序序列 ,0表示当前结点为空)#include<stdio.h>#include<malloc.h>typedef struct node { char data; struct node *lchild; struct node *rchild;} node;ch...原创 2019-09-03 22:31:58 · 301 阅读 · 0 评论 -
线索二叉树建立、遍历
线索二叉树:通过在结点中添加前驱、后继指针。 添加前驱、后继信息后,将二叉树遍历过程线索化,相当于一个线性结构(链表),进一步提高效率。 如果 ltag=0,则表示lchild为指针,指向结点的左孩子,如果ltag=1,则表示lchild为线索,指向结点的直接前驱。 如果 rtag=0, 则表示rchild为指针,指向结点的右孩子,如果rtag=1,则表示rchi...原创 2019-09-03 23:06:25 · 515 阅读 · 0 评论 -
构造哈夫曼树、哈夫曼编码
哈夫曼树: 1.权值越大的节点,距离根越近 2.树中没有度为1的节点,这类树叫正则(严格)二叉树,(树的总节点 = 2*双分支结点+1 = 单分支结点 + 双分支结点 ) 3.树的带权路劲(WPL:所有叶子结点的带权长度路劲之和)长度最短。构造算法:哔哩哔哩王卓老师的口诀:构造森林全是根,选用两小选新树,删除两小添新人,重复23剩单根 1.将n个权值分别...原创 2019-09-07 21:34:36 · 2219 阅读 · 0 评论