相关阅读: 双连通分量 ,割点和桥 简介 在阅读下列内容之前,请务必了解 图论相关概念 中的基础部分。 强连通的定义是:有向图 G 强连通是指,G 中任意两个结点连通。 强连通分量(Strongly Connected Components,SCC)的定义是:极大的强连通子图。 这里想要介绍的是如何 ...
分类:
编程语言 时间:
2020-08-06 09:32:50
阅读次数:
95
题目描述: 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例 : 给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 注意:两结点之间的路径 ...
分类:
其他好文 时间:
2020-08-05 10:32:26
阅读次数:
55
1、完全二叉树(complete binary tree)的定义 若设二叉树的深度为h,除第h层外,其他各层(1到h-1)的结点数都达到最大个数,第h层所有的结点都连续集中在最左边,这就是完全二叉树 2、满二叉树的定义(full binary tree) 满二叉树的节点要么是叶子节点,度为0,要么是 ...
分类:
其他好文 时间:
2020-07-30 16:55:10
阅读次数:
78
题目引出的思考: 前面学习中,一般都是需要前序+中序或者后序+中序才能构建出一颗二叉树,故本道题中一开始并未给出中序遍历,心中疑惑便出,是否该二叉树不唯一?再细看是二叉排序树,仔细分析显然可得二叉排序树中的中序遍历必然是递增的,故排除自己的错误想法。 证明: 如果一棵非空二叉树(所有结点值均不相同) ...
分类:
编程语言 时间:
2020-07-30 14:49:05
阅读次数:
129
题目大意 在一棵以结点 $1$ 为根的树上有 \(n\) 个结点,每个结点上有一个小写字母,每个点的深度定义为根结点到该结点路径上的点数。 现在有 \(m\) 次询问 \(a,b\) ,要求输出以结点 \(a\) 为根的子树上深度为 \(b\) 的所有结点上的字母,重新排列后能否形成回文串。 其中, ...
分类:
其他好文 时间:
2020-07-30 10:50:54
阅读次数:
64
// C++ #include<iostream> using namespace std; //链表的定义 struct ListNode { int val; ListNode* next; ListNode(int n) :val(n), next(nullptr) {} }; //链表的打印 ...
分类:
其他好文 时间:
2020-07-29 09:59:12
阅读次数:
68
邻接表储存结构 /*邻接表的边*/ typedef struct ArcNode { int adjvex; struct ArcNode *next; }ArcNode; /*邻接表的结点*/ typedef struct VNode { char date; ArcNode *firstarc; ...
分类:
编程语言 时间:
2020-07-28 17:32:12
阅读次数:
91
概念 线段树是一棵二叉树,线段是上每个结点对应的是序列的一段区间。如图(以下图片为引用) 容易发现,根节点对应的是整个区间[0,n-1].若一个结点对应的区间为[l,r],当l=r时,它是一个叶结点,没有左右儿子;否则他一定有两个儿子,令mid=(l+r)/2,则左儿子对应的区间为[l,mid],右 ...
分类:
其他好文 时间:
2020-07-28 16:49:56
阅读次数:
55
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 题意 给出一个 $n$ 点 $m$ 边的带权无向图,找出结点 $1$ 到结点 $n$ 的路径最小权。($n \le 100, m \le 10000$) 题解 $n$ 的范围较小,可以用 $O_{ ...
分类:
其他好文 时间:
2020-07-27 09:38:16
阅读次数:
51