浅谈BFS和DFS
深度优先遍历(Depth First Search, 简称DFS)与广度优先遍历(Breath First Search,简称BFS)是图论中两种非常重要的算法,生产上广泛用于拓扑排序,寻路(走迷宫)、搜索引擎、爬虫等。
DFS (Deep First Search)DFS:从当前节点开始,先标记当前节点,再寻找与当前节点相邻,且未标记过的节点( 这是一个递归思想的DFS)
当前节点不存在下一个节点,则返回前一个节点进行DFS
当前节点存在下一个节点,则从下一个节点进行DFS
DFS 遍历使用递归遍历:
1234567void dfs(TreeNode root){ if (root == null){ return ; } dfs(root.left); dfs(root.right);}
只是比较两段代码的话,最直观的感受就是:DFS 遍历的代码比 BFS 简洁太多了!这是因为递归的方式隐含地使用了系统的 栈,我们不需要自己维护一个数据结构。如果只是简单地将二叉树遍历一遍,那么 DFS 显然是更方 ...
二叉树的前、中、后序遍历(递归和循环)
二叉树节点结构12345678public class TreeNode{ int val; TreeNode left; TreeNode right; TreeNode(int x){ this.val = x; }}
前序遍历前序遍历:根结点 —> 左子树 —> 右子树 (根节点在 前中后 那个位置 就叫什么遍历)
前序遍历:1 2 4 6 7 8 3 5
题目144.二叉树的前序遍历
递归算法12345678910111213class Solution { List<Integer> res = new ArrayList<Integer>(); public List<Integer> preorderTraversal(TreeNode root){ if (root == null) return res; res.add(root.val); //一共到达 ...
图解HTTP-(6-11章)
6. HTTP首部6.1 HTTP报文首部
上图是HTTP请求报文的结构
HTTP请求报文由方法、URI、HTTP版本、HTTP首部字段等组成。
请求报文首部信息实例:
1234567891011GET / HTTP/1.1Host: hackr.jpUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/2010010Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*; q=0Accept-Language: ja,en-us;q=0.7,en;q=0.3Accept-Encoding: gzip, deflateDNT: 1Connection: keep-aliveIf-Modified-Since: Fri, 31 Aug 2007 02:02:20 GMTIf-None-Match: "45bae1-16a-46d776ac"Cache-Control: max-age=0
HTTP响应报文由HTTP版本、 ...
图解HTTP-(1-5章)
1.了解Web及网络基础1.1 Web基于HTTP通信 Web使用一种名为HTTP(HyperText Transfer Protocol,超文本传输协议,“超文本转义协议”)的协议作为规范,完成从客户端到服务端等一系列运作流程。而协议是规则的约定。可以说,Web是建立在HTTP协议上通信的。
1.2 HTTP的诞生1.2.1 HTTP的诞生 这一节主要讲 HTTP 的诞生背景,了解 HTTP 协议的诞生背景有利于我们学习理解 HTTP 协议。
HTTP起初的诞生是为了知识共享,最初的设想是借助多文档之间的相互关联行程超文本,连成可相互参阅的WWW(word wide Web,万维网)
现在已经提出了三项构建技术:
把SGML,即Standard Generalized Markup Language(标准通用标记语言)作为页面的文本标记语言的HTML(HyperText Markup Language,超文本标记语言)
作为文本传输协议的HTTP
指定文档所在地址的URL(Uniform Resource Loc ...
从新开始
天下熙熙,皆为利来;天下攘攘,皆为利往。周书曰:「农不出则乏其食,工不出则乏其事,商不出则三宝绝,虞不出则财匮少。」财匮少而山泽不辟矣。此四者,民所衣食之原也。原大则饶,原小则鲜。上则富国,下则富家。贫富之道,莫之夺予,而巧者有馀,拙者不足。故太公望封於营丘,地潟卤,人民寡,於是太公劝其女功,极技巧,通鱼盐,则人物归之,繦至而辐凑。故齐冠带衣履天下,海岱之间敛袂而往朝焉。其後齐中衰,管子修之,设轻重九府,则桓公以霸,九合诸侯,一匡天下;而管氏亦有三归,位在陪臣,富於列国之君。是以齐富彊至於威、宣也。
故曰:「仓廪实而知礼节,衣食足而知荣辱。」礼生於有而废於无。故君子富,好行其德;小人富,以適其力。渊深而鱼生之,山深而兽往之,人富而仁义附焉。富者得埶益彰,失埶则客无所之,以而不乐。夷狄益甚。谚曰:「千金之子,不死於市。」此非空言也。故曰:「天下熙熙,皆为利来;天下壤壤,皆为利往。」夫千乘之王,万家之侯,百室之君,尚犹患贫,而况匹夫编户之民乎!