一、思维导图 二、重要概念 1.DFS 时间复杂度为 O(n+e) 。 2.BFS 时间复杂度为 O(n+e) 。 3.最小生成树 1)Prim算法 时间复杂度为 O(n n) ,所以更适用于 稠密图 。 2) Kruskal算法 时间复杂度为 O(elog2e) ,所以更适用于 稀疏图 。 4.最 ...
                            
                            
                                分类:
其他好文   时间:
2020-05-17 21:45:57   
                                阅读次数:
110
                             
                         
                    
                        
                            
                            
                                    题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 思路 https://www.nowcoder.com/questionTerminal/435fb86331474282a3499955f0a41e8b?f=disc ...
                            
                            
                                分类:
其他好文   时间:
2020-04-29 17:58:37   
                                阅读次数:
49
                             
                         
                    
                        
                            
                            
                                    一、概念 在一棵树中找到距离根节点最远的两个点,这两个点之间的距离为树的直径 二、算法 1.求法:求树的直径的方法就是在树上任选一点u,求距离点u最远的点y,再求距离点y最远的点s,点y到点s的距离即为树的直径。 2.证明:假设此树的最长路径是从s到t,我们选择的点为u。反证法:假设搜到的点是v。  ...
                            
                            
                                分类:
其他好文   时间:
2020-04-23 23:32:16   
                                阅读次数:
117
                             
                         
                    
                        
                            
                            
                                    $T1$ 题目描述 给定一棵 $n$ 个节点的树,求前 $m$ 条最长路径的长度。 数据范围 序号 $n$ $m$ 数据类型 1 10 3 暴力 2 233 23333 暴力 3 2000 300000 暴力 4 2000 300000 暴力 5 50000 1 随机生成 6 7798 17798  ...
                            
                            
                                分类:
其他好文   时间:
2020-04-20 21:41:53   
                                阅读次数:
62
                             
                         
                    
                        
                            
                            
                                    1.数字在排序数组中出现的次数 问题描述: 统计一个数字在排序数组中出现的次数。 2.二叉树的深度 问题描述: 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 3.平衡二叉树 问题描述: 输入一棵二叉树,判断该二叉树是否是平衡 ...
                            
                            
                                分类:
其他好文   时间:
2020-04-17 23:52:40   
                                阅读次数:
61
                             
                         
                    
                        
                            
                            
                                    题目描述 :输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 解法 1: 递归 递归的写法非常直观。对于一棵二叉树来说,它的高度等于左右子树的高度最大值,加上 1。 代码实现如下: 解法 2: 层序遍历 按照二叉树的“层 ...
                            
                            
                                分类:
编程语言   时间:
2020-04-09 10:33:52   
                                阅读次数:
74
                             
                         
                    
                        
                            
                            
                                    数据结构 树 首先回忆一下树的术语 1. 节点的度:一个节点含有的子树的个数称为该节点的树 2. 树的度:一棵树中,最大的节点的度称为树的度 3. 节点的层次:从根开始定义,根为第一层(有时候定义为第0层) 4. 高度:对于任意节点n,n的高度为n到一片树叶的最长路径的长度,所有树叶的高度为0 树的 ...
                            
                            
                                分类:
其他好文   时间:
2020-04-09 00:20:49   
                                阅读次数:
71
                             
                         
                    
                        
                            
                            
                                    之前第5节课留了个疑问,是关于“时间t被安排进R”的时间复杂度能不能为Ο(log2n)?”和BST时间复杂度Ο(h)的关系。第6节对此继续了深入的探讨。首先我们知道BST的h是指树的高,即从根到叶子结点最长路径的长度。但由于树结构不同平衡情况,高h的结果也不一样,如下图所示: 一、结点的高 由此可以 ...
                            
                            
                                分类:
编程语言   时间:
2020-04-06 15:25:51   
                                阅读次数:
72
                             
                         
                    
                        
                            
                            
                                    两种方式 一:直接排序就行了。对于字符串“>、<、==、+”这些运算符都被重载了,可以直接用。 #include <iostream>using namespace std;#include <string> int main(){	int num;	cin >> num;	string s[100 ...
                            
                            
                                分类:
编程语言   时间:
2020-04-03 21:59:35   
                                阅读次数:
85
                             
                         
                    
                        
                            
                            
                                    A: 二叉树的最大深度 题目描述 二叉树是指每个结点最多有两个子树的树结构,这两个子树通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树的结点层定义为:根结点的层定义为 1 ,根的孩子为第二层结点,依此类推;二叉树的深度定义为:树中最大的结点层。给 ...
                            
                            
                                分类:
其他好文   时间:
2020-03-21 09:26:17   
                                阅读次数:
104