树
树
-Hello_狂奔的蜗牛
Fly!!!
展开
-
HDU - 2489 + 最小生成树+暴力组合选数
For a tree, which nodes and edges are all weighted, the ratio of it is calculated according to the following equation. Given a complete graph of n nodes with all nodes and edges weighted, your task is...原创 2018-05-22 20:05:03 · 294 阅读 · 0 评论 -
HDU1233 + 最小生成树prim
某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。 Input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100 );随后的N(N-1)/2行对应村庄间的距离,每行给出一对正整数,...原创 2018-05-22 16:44:10 · 190 阅读 · 0 评论 -
HDU1863 最小生成树 + kruskal + 并查集
畅通工程Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 36156Accepted Submission(s): 16059Problem Description省政府“畅通工程”的目标是使全省任何两...原创 2018-05-18 06:31:41 · 250 阅读 · 0 评论 -
最小生成树Prim
在图中求解最小生成树: 1.将图中所有顶点的集合记为V,最小生成树中的顶点集合为U,初始化时,V中包含所有顶点,而U为空集. 2.首先从V集合中取出一个顶点,设为V0, 将其加入集合U中。 3.从V0的邻接点中选择点Vn, 使(V0, Vn)边的权值最小,得到最小生成树中的一条边。 4.接着从V-U集合中再选一个V0, Vn邻接的顶点,找出权值最小的一条边,得到最小生成树的另一条边,将该顶点原创 2017-08-03 15:51:28 · 180 阅读 · 0 评论 -
伸展树(一)之 图文解析 和 C语言的实现
概要本章介绍伸展树。它和"二叉查找树"和"AVL树"一样,都是特殊的二叉树。在了解了"二叉查找树"和"AVL树"之后,学习伸展树是一件相当容易的事情。和以往一样,本文会先对伸展树的理论知识进行简单介绍,然后给出C语言的实现。后序再分别给出C++和Java版本的实现;这3种实现方式的原理都一样,选择其中之一进行了解即可。若文章有错误或不足的地方,希望您能不吝指出!目录1. 伸展树的介绍转载 2017-08-03 10:58:08 · 314 阅读 · 0 评论 -
AVL树(一)之 图文解析 和 C语言的实现
概要本章介绍AVL树。和前面介绍"二叉查找树"的流程一样,本章先对AVL树的理论知识进行简单介绍,然后给出C语言的实现。本篇实现的二叉查找树是c语言版的,后面章节再分别给出C++和Java版本的实现。建议:若您对"二叉查找树"不熟悉,建议先学完"二叉查找树"再来学习AVL树。目录1. AVL树的介绍2. AVL树的C实现3. AVL树的C实现(完整源码)4. AVL树的转载 2017-08-03 10:56:31 · 588 阅读 · 0 评论 -
Java, c++ 中序和前序 或 中序和后序构建二叉树
利用递归,构建二叉树的时候主要就是要搞清楚,前序和中序,后序与中序的关系,然后要递归地往下构建,先建当前节点的左孩子,再右孩子,然后我利用另外一种序列遍历来验证 构建的二叉树是否正确。#include <iostream>#include <cstdio>using namespace std;const int maxn = 35;int in[maxn];int pre[maxn];原创 2017-07-31 10:10:00 · 636 阅读 · 0 评论 -
Java 初始化二叉树,先序,中序,后序遍历,深度
import java.util.Scanner;//定义二叉树结点类型class CBTType { String data;//元素数据 CBTType left; CBTType right;}class Main { static final int MAXLEN = 20; static Scanner input = new Scanner原创 2017-06-10 17:09:10 · 1019 阅读 · 0 评论 -
前序和中序建树,后序和中序建树
利用递归,构建二叉树的时候主要就是要搞清楚,前序和中序,后序与中序的关系,然后要递归地往下构建,先建当前节点的左孩子,再右孩子,然后我利用另外一种序列遍历来验证 构建的二叉树是否正确。#include <iostream>#include <cstdio>using namespace std;const int maxn = 35;int in[maxn];int pre[maxn];原创 2017-05-09 18:06:27 · 1137 阅读 · 0 评论 -
递归实现二叉树的三种遍历
#include <stdio.h>#include <stdlib.h>typedef char ElementType;typedef struct TreeNode *BinTree;struct TreeNode{ElementType Data;BinTree lchild;BinTree rchild;};//建立 void creatBinTree(BinTree原创 2016-12-10 10:26:09 · 415 阅读 · 0 评论 -
先序和中序求后序,后序和中序求先序
//preorder and postorder,先序和中序求后序#include <cstdio>#include <iostream>using namespace std;void getpost(int *pre, int *in, int n) { if(n == 0) return; int root = pre[0]; int i;原创 2016-11-29 06:59:26 · 751 阅读 · 1 评论 -
BST二叉搜索树的查找,最大小值,删除,插入
#include <cstdio>#include <cstdlib>#include <queue>using namespace std;typedef struct TreeNode* BinTree;typedef int ElementType;//以int为例 typedef BinTree Position;struct TreeNode{ ElementTyp原创 2016-11-17 09:52:49 · 1275 阅读 · 0 评论 -
层序生成二叉树和层序遍历
#include <cstdio>#include <cstdlib>#include <queue>using namespace std;typedef struct TreeNode* BinTree;typedef int ElementType;//以int为例 typedef BinTree Position;struct TreeNode{ ElementTyp原创 2016-11-17 09:14:13 · 790 阅读 · 4 评论 -
非递归实现二叉树三种遍历
#include <cstdio>#include <cstdlib>#include <stack>using namespace std;typedef char ElementType;typedef struct TreeNode* BinTree;struct TreeNode{ ElementType Data; BinTree lchild; Bi原创 2016-11-16 19:41:44 · 391 阅读 · 0 评论 -
二叉树的叶结点和高度
#include #include #include using namespace std;typedef char ElementType;typedef struct TreeNode *BinTree;struct TreeNode{ElementType Data;BinTree lchild;BinTree rchild;};//建立 v原创 2016-11-15 19:18:10 · 830 阅读 · 0 评论 -
递归实现二叉树的三种遍历
#include #include typedef char ElementType;typedef struct TreeNode *BinTree;struct TreeNode{ElementType Data;BinTree lchild;BinTree rchild;};//建立 void creatBinTree(BinTree *T){原创 2016-11-15 14:47:27 · 414 阅读 · 0 评论 -
字典树
字典树字典树模版Trie树的结点结构两个注意点:一般最多26个(26个字母,根据情况调节)指向子结点的链接,其中每个link对应字母表数据集中的一个字母;有一个字段isEnd用于表示当前是结尾还是只是前缀。private class TrieNode { // 键 private TrieNode[] links; private final int R = 26; private boolean isEnd;原创 2021-02-15 00:33:00 · 159 阅读 · 0 评论 -
HDU 4825+字典树
Xor SumTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Others)Total Submission(s): 3848 Accepted Submission(s): 1694Problem DescriptionZeus 和 Prometheus 做了一个游戏,Prometh...原创 2018-04-08 17:42:10 · 164 阅读 · 0 评论 -
POJ - 2001+字典树求前缀
Shortest PrefixesTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 20310 Accepted: 8797DescriptionA prefix of a string is a substring starting at the beginning of the given string. The prefixe...原创 2018-04-08 17:07:39 · 232 阅读 · 0 评论 -
HDU1251字典树
统计难题Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submission(s): 49733 Accepted Submission(s): 17572Problem DescriptionIgnatius最近遇到一个难题,老师交给他很多单词(只有小写字母组...原创 2018-04-08 16:41:46 · 164 阅读 · 0 评论