树
爱玲姐姐
大家好,我是计爱玲,英文名:Cathy,是一名前端开发工程师,热爱解锁各种前端新技术。我的爱豆是王一博,当然我也想认识更多同行的帅哥,
我的微信jal517486222,欢迎加我好友交流编程技术*^_^*
个人网站:https://jiailing.com
展开
-
字典树 / Trie树
字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。 字典树与字典很相似,当你要查一个单词是不是在字典树中,首先看单词的第一个字母是不是在字典的第一层,如果不在,...原创 2017-12-20 21:08:07 · 759 阅读 · 0 评论 -
PAT-A-1086 Tree Traversals Again (25 分)二叉树先中序转后序 C++题解
1086 Tree Traversals Again (25 分)题目传送门:1086 Tree Traversals Again (25 分)一、题目大意这道题的难点就在于是否能读懂题意了。。。题目说的神乎其神,看似在用栈模拟二叉树的构造,以一种压栈顺序,出栈的顺序就是中序。仔细研究下发现入栈顺序是二叉树的先序(题目好像没说明是先序入栈,只说按1-n入栈),而出栈顺序是中序。那么既然有了先...原创 2019-09-01 16:42:13 · 791 阅读 · 0 评论 -
PAT-A-1064 Complete Binary Search Tree (30 分) 完全二叉查找树+排序后中序遍历构建完全二叉树
1064 Complete Binary Search Tree (30 分)题目传送门:1064 Complete Binary Search Tree (30 分)一、题目大意给定一个长度为n的序列,构成一个完全二叉查找树,横向遍历输出二、解题思路拿着样例将完全二叉查找树画出来就会发现,这个树从树顶拿一个手电筒照下来,节点映射到水平面的顺序就是有序的 ,其实就是将给定序列排好序的中序...原创 2019-08-25 21:03:44 · 885 阅读 · 0 评论 -
PAT-A-1043 Is It a Binary Search Tree (25 分)递归判断二叉查找树 C++题解
1043 Is It a Binary Search Tree (25 分)题目传送门:1043 Is It a Binary Search Tree (25 分)一、题目大意判断给定的序列是否可以构成一个二叉查找树或镜像二叉查找树。二、解题思路递归判断指定的区间序列是否是二叉查找树的先序。区间[left, right]中,left是先序二叉树的根,设p为左子树的右端点,q为右子树的右...原创 2019-08-21 14:48:40 · 783 阅读 · 0 评论 -
PAT-A 1020 Tree Traversals (25 分) 二叉树后中序遍历转按层遍历(C++题解)
1020 Tree Traversals (25 分)题目传送门:1020 Tree Traversals (25 分)一、题目大意给出二叉树的后序遍历和中序遍历,求二叉树的按层遍历。二、解题思路要想知道按层遍历的结果,只需要在遍历二叉树的过程中将每个节点的值存到数组对应下标里就行了。通常我们对二叉树的标号都是根节点的下标为1。如果当前点的下标是i,则其左孩子的下标是2∗i2*i2∗i...原创 2019-08-12 14:28:02 · 900 阅读 · 0 评论 -
PAT-A-1004 搜索树的每层叶节点的数目,广度优先搜索(BFS)C++题解
1004 Counting Leaves (30 分)题目大意题目传送门:PAT-A-1004求树每层叶节点(0个子节点)的数量解题思路题目的这种输入简直就是为邻接表准备的原创 2019-07-24 07:22:27 · 1031 阅读 · 1 评论 -
C++实现字典树的增删查写前缀打印
C++实现字典树的增删查写前缀打印//// Created by jal on 19-3-9.//#include <bits/stdc++.h>using namespace std;const int SIZE = 26;struct Node{ int sum; bool isEnd; char val; vector<Node...原创 2019-03-09 13:39:31 · 1288 阅读 · 1 评论 -
nyist 230 彩色棒 (字典树+并查集+欧拉通路)
彩色棒 (nyist 230)解题思路: 考点 算法 数据结构:欧拉回路、并查集、字典树 这道题是一个很好的图论综合题,题目说的是求给出的m个棒子是否能够拼接成一个棒子,只有两个棒子的某一端颜色相同才能拼接。 1. 首先,我们要将输入的字符串转化为整型的数字,作为无向图的点,由于数据太大,所以不能用map,要用字典树来存储 2. 然后判断这个无向图是否连通,如果不连通...原创 2018-05-27 21:57:38 · 743 阅读 · 0 评论 -
nyist 129 树的判定 (并查集)
树的判定nyist129样例输入 6 8 5 3 5 2 6 4 5 6 0 08 1 7 3 6 2 8 9 7 5 7 4 7 8 7 6 0 03 8 6 8 6 4 5 3 5 6 5 2 0 0 -1 -1 样例输出 Case 1 is a tree. Case 2 is a tree. Case 3 is not a tree....原创 2018-05-09 14:11:51 · 765 阅读 · 0 评论 -
构造哈夫曼树,并求加权路径长度 C++(优先级队列)
C++构造哈夫曼树引用一下百度百科里面的构造哈夫曼树的描述:假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:(1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和;(3)从森林...原创 2019-09-17 13:34:06 · 2787 阅读 · 1 评论