数据结构
文章平均质量分 61
^花九九
这个作者很懒,什么都没留下…
展开
-
二叉搜索树--二叉排序树
Pre函数,找前驱节点,如果有左子树,则前驱节点是该子树的最后一个节点last,如果没有左子树,判断该节点对于它的父节点来说是否是右孩子(用于判断父节点是否遍历)。分别表示前驱节点,下一个节点,第一个节点和最后一个节点。删除双分支的时候先找到他的直接后继,将直接后继的数据值放到要删的节点位置,将要删的节点删除。删除单分支的时候,判断时该节点的左孩子还是右孩子,删除该节点后挂到相应的位置。删除叶子,删除单分支,删除双分支,删除单分支的根。判断插入的节点是否存在,存在就不插入,原创 2023-12-15 17:42:36 · 393 阅读 · 0 评论 -
HuffMan tree
ASCII 编码是对照ASCII 表进行的编码,每一个字符符号都有对应的编码,其编码长度是固定的。其会对频率较高的字符使用较短的编码,频率低的字符使用较高的编码。给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。n个权值分别设为 w1、w2、…的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和;(4)重复(2)、(3)步,直到森林中只剩一棵树为止,该树即为所求得的哈夫曼树。原创 2023-12-13 11:33:22 · 344 阅读 · 0 评论 -
树与二叉树基础知识
一棵二叉树是节点的一个有限集合该集合或者为空,或者由一个根节点加上两颗分别为左子树和右子树,互不相交的二叉树组成。原创 2023-12-12 09:14:00 · 336 阅读 · 0 评论 -
优先级队列-priority_queue
优先级队列本质是堆,缺省是是大顶堆(less<Type>)(operator<)。队列是从一头入另一头出,优先级队列可以自定义数据优先级,让优先级高的排前面。Type是数据类型,Contains是容器,一般默认是vector(也可以是其他用数组实现的容器)不同于队列的是获取队头元素是top();原创 2023-07-26 10:08:22 · 44 阅读 · 1 评论 -
rb树-红黑树
rb树原创 2023-07-12 12:01:32 · 68 阅读 · 1 评论