递归 广度优先搜索 深度优先搜索 二分 left, right = 0, len(array) 1 while left ...
分类:
编程语言 时间:
2019-10-09 19:21:31
阅读次数:
82
大致可以总结如下: 1. 前序排列(preorder):根左右 2. 中序排列(inorder):左根右 3. 后续排序(postorder):左右根 重点看“根”的位置,在最前面就是前序,中间就是中序,后面就是后序。补充一点,上述排列都是DFT(深度优先排列,Depth First Travers ...
分类:
其他好文 时间:
2019-10-08 22:24:51
阅读次数:
736
①题目 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 返回它的最小深度 2. ②思路 使用深度优先搜索 ③代码 ④学到的东西 1、判断叶子结点, ...
分类:
其他好文 时间:
2019-10-08 22:01:25
阅读次数:
68
含有回溯的递归程序设计 目录 [TOC] 回溯 1.1 概念 递归是一种算法结构、技巧,而回溯是一种算法思想。 本质上是一种枚举思想,采用深度优先策略来枚举所有可能解,并且服从一定的择优条件。 遵循设定好的择优条件不断深入试探,最终达到目标,但是在试探过程中,若发现当前情况不是最优或者一定无法达到目 ...
分类:
编程语言 时间:
2019-10-07 21:17:39
阅读次数:
90
二叉树 python实现二叉树的结构: 根节点 左叶子节点 右叶子节点 子树 高度 二叉树的遍历: 广度优先(层次遍历) 深度优先: 前序(根左右):把根放到最前面 中序(左根右):把根放到中间 后序(左右根):把根放到最后 排序二叉树 插入节点的时候一定要遵从的原则: 比根节点小的节点同一插入在树 ...
分类:
编程语言 时间:
2019-10-06 11:44:34
阅读次数:
90
邻接矩阵类型声明 邻接表类型声明 创建图 输出图 销毁图 邻接矩阵转邻接表 邻接表转邻接矩阵 深度优先遍历 广度优先遍历 深度优先遍历非连通无向图 广度优先遍历非连通无向图 判断图的连通性 判断u到v是否存在简单路径 输出u到v的一条简单路径 输出u到v的所有简单路径 输出长度为l的简单路径 输出经 ...
分类:
其他好文 时间:
2019-10-04 17:19:46
阅读次数:
102
好的,接下来就是本萌新的第一篇博客啦。直接上深搜!深度优先搜索(Depth-First-Search),简称“深搜”(dfs),是我们蒟蒻们最基本的搜索操作之一。简单地说,深搜就是递归。下面是抄来的解释:深度优先搜索用一个数组存放产生的所有状态。(1) 把初始状态放入数组中,设为当前状态;(2) 扩 ...
分类:
其他好文 时间:
2019-10-04 00:05:40
阅读次数:
121
DFS 深度优先搜索 通过搜索得到一棵树形图 策略:只要能发现没走过的点,就走到它。有多个点可走就随便挑一个,如果无路可走就回退,再看有没有没走过的点可走。 在图上寻找路径【少数可用最短路解决】:最短路不能解决路径有顺序的,也就是如果路径的边权与之前经过的点火这路有关,那就只能深搜 解决递归形式的问 ...
分类:
其他好文 时间:
2019-10-02 18:41:50
阅读次数:
101
子类在调用某个方法或变量的时候,首先在自己内部查找,如果没有找到,则开始根据继承机制在父类里查找。 根据父类定义中的顺序,以深度优先的方式逐一查找父类! 执行结果是"i am D",左边具有深度优先权,当一条路走到黑也没找到的时候,才换另一条路。可见,在这种继承结构关系中,搜索顺序是这样的: ...
分类:
编程语言 时间:
2019-10-02 16:50:52
阅读次数:
85
广度优先遍历(BFS) 过程分析 初始化一个队列。访问A顶点,将A顶点入队,之后出队。同时将与A顶点相邻接的顶点B,F入队 访问B结点,将B结点出队,同时将与B结点相邻接,且还未被访问过的顶点C,I,G入队 访问F结点,将F结点出队,同时将于F结点相邻接,且还未被访问过的顶点G,E入队。之后同理,直 ...
分类:
其他好文 时间:
2019-10-02 14:40:51
阅读次数:
95