题目描述: 给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 深度优先遍历,递归或者用栈 //C //递归 bool isSameTree(struct TreeNode* p, struct TreeNode* q){ if(p = ...
分类:
其他好文 时间:
2020-06-12 14:24:15
阅读次数:
43
图论的约定和表述 给定图$G \ = \ (V,E)\(,以图的结点数\)|V|\(与边的条数\)|E|$作为输入的规模,同时,仅当在渐近符号(如大$O$表示或大$\Theta$表示)中,符号$V$表示$|V|$,符号$E$表示$|E|$,比如我们说算法的时间复杂度为$O(VE)$,同时,用$G.V ...
分类:
其他好文 时间:
2020-06-12 00:39:11
阅读次数:
50
图可以用邻接矩阵(顶点和顶点矩阵)和邻接表(顶点的链表)两种形式的结构来存储。 还有逆邻接表,顶点依然是头结点,但后续存的是谁指向你的。还有十字链表。。。 漫画:什么是 “图”?(修订版) 图的遍历:DFS,BFS 搞搞清楚! 漫画:深度优先遍历 和 广度优先遍历 二分图 如果可以用两种颜色对图中的 ...
分类:
其他好文 时间:
2020-06-11 21:25:40
阅读次数:
122
一笔画判断 时间限制:1秒 内存限制:128M 题目描述 如果一个图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路。 根据一笔画的两个定理,如果寻找欧拉回路,对任意一个点执行深度优先遍历;找欧拉路,则对一个奇点执行dfs,时间复杂度为O(m+n),m为边数,n是点数 ...
分类:
其他好文 时间:
2020-06-10 20:50:53
阅读次数:
208
1、深度优先算法 遍历规则:不断地沿着顶点的深度方向遍历。顶点的深度方向是指它的邻接点方向。 最后得出的结果为:ABDECFHG。 2、广度优先算法: 遍历规则: 1)先访问完当前顶点的所有邻接点。(应该看得出广度的意思) 2)先访问顶点的邻接点先于后访问顶点的邻接点被访问。 最后得出的结果为:AB ...
分类:
其他好文 时间:
2020-06-09 18:28:37
阅读次数:
57
概念定义: 深度优先遍历:深度优先遍历是图论中的经典算法。其利用了深度优先搜索算法可以产生目标图的相应拓扑排序表,采用拓扑排序表可以解决很多相关的图论问题,如最大路径问题等等。 根据深度优先遍历的特点我们利用Java集合类的栈Stack先进后出的特点来实现。我用二叉树来进行深度优先搜索。 广度优先遍 ...
分类:
编程语言 时间:
2020-06-07 21:24:16
阅读次数:
77
搜索引擎课的一次小实验~ 题目是这样的: 以指定网址为根节点,遍历(深度优先、广度优先)访问 50 个页面并爬取这些页面上的所有网址。 代码 import re import requests from requests.exceptions import ReadTimeout, Connecti ...
分类:
编程语言 时间:
2020-06-06 21:28:08
阅读次数:
76
问题:Given two integers n and k, return all possible combinations of k numbers out of 1 … n. For example,If n = 4 and k = 2, a solution is: [ [2,4], [3, ...
分类:
其他好文 时间:
2020-06-06 01:16:22
阅读次数:
93
D继承于B类和C类,B类和C类分别继承于父类A,其中A类不继承于object。 这段代码的输出时这样的: 现在我们换种写法,让父类A继承于object,其他不做变动,如下图: 猜一猜结果变成了什么: 是不是很奇怪,这是为什么呢? 我们把未继承object的类称为经典类,把继承object的类称为新式 ...
分类:
编程语言 时间:
2020-06-03 12:07:15
阅读次数:
69
遍历和寻路算法 1.并行广度优先搜索(BFS) 功能:遍历树数据结构,通过扇出探索最近的邻居和他们的次级邻居。它用于定位连接,并且是许多其他图算法的前身。 当树较不平衡或目标更接近起点时,BFS是首选。它也可用于查找节点之间的最短路径或避免深度优先搜索的递归过程。 如何使用:广度优先搜索可用于在像B ...
分类:
编程语言 时间:
2020-05-29 19:40:53
阅读次数:
125