树
树相关算法
奇迹是执着的人创造的
这个作者很懒,什么都没留下…
展开
-
红黑树(RBT)
红黑树RBT原创 2022-06-26 09:28:32 · 195 阅读 · 0 评论 -
codeup 9.7小节——数据结构专题(2)->堆
问题 A: 算法10-10,10-11:堆排序时间限制:1 Sec内存限制:32 MB提交:183解决:131[提交][状态][讨论版][命题人:外部导入]题目描述堆排序是一种利用堆结构进行排序的方法,它只需要一个记录大小的辅助空间,每个待排序的记录仅需要占用一个存储空间。首先建立小根堆或大根堆,然后通过利用堆的性质即堆顶的元素是最小或最大值,从而依次得出每一个...原创 2019-04-20 13:40:31 · 439 阅读 · 0 评论 -
codeup 9.5小节——数据结构专题(2)->平衡二叉树(AVL)
问题 A: 算法9-9~9-12:平衡二叉树的基本操作时间限制:1 Sec内存限制:32 MB提交:295解决:127[提交][状态][讨论版][命题人:外部导入]题目描述平衡二叉树又称AVL树,它是一种具有平衡因子的特殊二叉排序树。平衡二叉树或者是一棵空树,或者是具有以下几条性质的二叉树:1.若它的左子树不空,则左子树上所有结点的值均小于它的根节...原创 2019-04-19 15:42:26 · 294 阅读 · 0 评论 -
算法笔记9.5 平衡二叉树(AVL树)
9.5.1 平衡二叉树的定义上一节的二叉二叉查找树BST,若按照顺序插入,会退化为一条链,eg:使用序列{1,2,3,4,5}构建二叉树,会得到于是需要对树的结构进行调整,使得树的高度在每次插入元素后仍然能保持O(logn)的级别,这样就产生了平衡二叉树。所谓平衡二叉树是指:对AVL树的任意结点来说,其左子树与右子树的高度之差的绝对值不超过1(左右子树的高度之差称为该结点的平衡因...原创 2019-04-18 21:53:07 · 730 阅读 · 1 评论 -
算法笔记 9.8 哈夫曼树(最优二叉树)
9.8.1 哈夫曼树(建树思想)上一节墓地最后一题合并果子的思想就是哈夫曼树建树思想#include<iostream>#include<algorithm>#include<queue>using namespace std;int main(){ priority_queue<int,vector<i...原创 2019-04-20 16:55:27 · 456 阅读 · 0 评论 -
codeup 9.8小节——树算法专题->哈夫曼树
问题 A: 算法6-12:自底向上的赫夫曼编码时间限制:1 Sec内存限制:32 MB提交:96解决:40[提交][状态][讨论版][命题人:外部导入]题目描述在通讯领域,经常需要将需要传送的文字转换成由二进制字符组成的字符串。在实际应用中,由于总是希望被传送的内容总长尽可能的短,如果对每个字符设计长度不等的编码,且让内容中出现次数较多的字符采用尽可能短的编码,则整...原创 2019-04-20 16:54:58 · 1021 阅读 · 0 评论 -
codeup 9.6小节——数据结构专题(2)->并查集
问题 A: 通信系统时间限制:1 Sec内存限制:32 MB提交:1078解决:297[提交][状态][讨论版][命题人:外部导入]题目描述某市计划建设一个通信系统。按照规划,这个系统包含若干端点,这些端点由通信线缆链接。消息可以在任何一个端点产生,并且只能通过线缆传送。每个端点接收消息后会将消息传送到与其相连的端点,除了那个消息发送过来的端点。如果某个端点是产生消...原创 2019-04-12 20:29:55 · 203 阅读 · 0 评论 -
算法笔记9.6 并查集
9.6.1并查集的定义9.6.2 并查集的基本操作 总体来说,并查集的使用先要初始化,然后查找合并1.初始化开始所有元素是一个独立的集合,父节点都初始化为自己 即:father[i]=i//初始化for(int i=0;i<=N;i++){ father[i]=i;//father[i]=-1也行 此处习惯用i}2.查找由于规定一个集合只有一个...原创 2019-04-12 15:27:22 · 177 阅读 · 1 评论 -
codeup 9.4小节——数据结构专题(2)->二叉查找树(BST)
问题 A: 二叉排序树时间限制:1 Sec内存限制:32 MB提交:326解决:138[提交][状态][讨论版][命题人:外部导入]题目描述输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历。输入输入第一行包括一个整数n(1<=n<=100)。接下来的一行包括n个整数。输出可能有多组测试数据,对于每组数据,将题目所给数据建立一个二...原创 2019-04-11 21:51:44 · 225 阅读 · 0 评论 -
codeup 9.3——数据结构专题(2)->树的遍历
问题 A: 树查找时间限制:1 Sec内存限制:32 MB提交:238解决:135[提交][状态][讨论版][命题人:外部导入]题目描述有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。输入输入有多组数据。每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d代表深度。输...原创 2019-04-10 17:42:43 · 228 阅读 · 0 评论 -
codeup 9.2小节——数据结构专题(2)->二叉树的遍历
问题 A: 复原二叉树时间限制:1 Sec内存限制:32 MB提交:333解决:202[提交][状态][讨论版][命题人:外部导入]题目描述小明在做数据结构的作业,其中一题是给你一棵二叉树的前序遍历和中序遍历结果,要求你写出这棵二叉树的后序遍历结果。输入输入包含多组测试数据。每组输入包含两个字符串,分别表示二叉树的前序遍历和中序遍历结果。每个字符串由不重复的...原创 2019-04-06 01:42:11 · 858 阅读 · 0 评论 -
算法笔记9.3 树的遍历
本节讨论一般意义上的树,即子结点个数不限且子结点没有先后次序的树9.3.1 树的静态写法(孩子结点不定,普通的树一般都使用静态写法)1.树的存储结构//树的存储结构struct node{ Type data;//数据域 vector<int> child;//指针域,存放所有子结点的下标 孩子结点个数不定用vector}Node[maxn];2.新...原创 2019-04-10 15:18:01 · 181 阅读 · 0 评论 -
算法笔记9.2 二叉树的遍历 及 中序分别与先序、后序、层序搭配构建二叉树
目录9.2.1先序遍历9.2.2 中序遍历9.2.3后序遍历9.2.4层序遍历9.2.5根据先序中序序列,建立二叉树 变式.根据后序中序序列还原二叉树 变式:根据层序中序序列还原二叉树9.2.6二叉树的静态实现二叉树的遍历共四种:先序遍历、中序遍历、后序遍历、层次遍历前三种: 采用深度优先搜索(DFS)实现递归层次...原创 2019-04-05 18:27:34 · 467 阅读 · 0 评论 -
算法笔记 9.1 树与二叉树
9.1.1 树的定义与性质记住以下性质:其中1和5经常被用来出边界数据 1.树可以没有结点,这种情况下把树称为空树 2.树的层次(layer)从根结点开始算起,即根结点为第一层,根结点子树的根结点为第二层,以此类推 3.把结点的子树课数称为结点的度(degree)(即:树结点的度指的是该节点孩子的个数.没有出度入度之分), 而树中结点的最大的度称为树的...原创 2019-04-03 21:54:06 · 867 阅读 · 0 评论