1、前言 学习数据结构的时候就已经了解了DFS原理,但是一直没有详细的复习和代码实现。再刷题的过程中发现很多题目都使用DFS,因此回头再好好梳理一下DFS的思路以及代码实现。 2、算法理论 2.1 理论知识 深度优先搜索算法(英语:Depth-First-Search,简称DFS)是一种用于遍历或搜 ...
分类:
其他好文 时间:
2018-06-20 12:57:29
阅读次数:
151
一、json模块 二、os模块 练习: 编写一个函数,遍历路径下,所有的目录和子目录 """ 编写一个函数,遍历路径下,所有的目录和子目录 """ import os def list_all_file(file_path): paths = os.listdir(file_path) for ea ...
分类:
编程语言 时间:
2018-03-31 15:11:04
阅读次数:
186
[TOC] 对象的生存与死亡 如何判定一个对象的生与死 1. 引用计数法 给对象中添加一个引用计数器,被引用加1,引用失效减1,计数器为0则对象可以被回收。 缺点:很难解决对象之间互相循环引用的问题。 2. 可达性分析法 通过一系列 的对象作为起点,向下搜索,遍历路径称为引用链。当一个对象到 不可达 ...
分类:
其他好文 时间:
2018-01-25 11:04:54
阅读次数:
169
[TOC] 对象的生存与死亡 如何判定一个对象的生与死 1. 引用计数法 给对象中添加一个引用计数器,被引用加1,引用失效减1,计数器为0则对象可以被回收。 缺点:很难解决对象之间互相循环引用的问题。 2. 可达性分析法 通过一系列 的对象作为起点,向下搜索,遍历路径称为引用链。当一个对象到 不可达 ...
分类:
其他好文 时间:
2018-01-20 10:57:51
阅读次数:
164
计算机系DSA第二次Programming Assignment中第三题涉及到这个算法 【问题描述】 一个有向图中,有一些节点上有5角钱硬币,求问从指定的a顶点走到指定的b顶点,最多总共可以拿到多少硬币 【问题分析】 1. 一个有向图可以分解为强连通分量(Strongly Connected Com ...
分类:
其他好文 时间:
2017-11-25 13:05:21
阅读次数:
163
intptr_t类型用于记录文件夹句柄,注意该类型不是指针类型,而是int型的重定义。 _finddata_t结构体类型用于记录文件信息。 _finddata_t结构体定义如下 struct _finddata_t { unsigned attrib; // 存储文件属性 __time64_t ti ...
分类:
编程语言 时间:
2017-10-30 22:19:25
阅读次数:
340
siwuxie095 图的遍历 图的遍历 分为:深度优先搜索 和 广度优先搜索 不同的方式在遍历时,遍历路径是不一样的 深度优先搜索 对如下图进行深度优先搜索: 需要先选定一个点,假设选定的点为 A 先从 A 的一支开始搜索,搜索到 B,接着: 从 B 搜索到 C,从 C 搜索到 E,从 E 搜索到 ...
分类:
其他好文 时间:
2017-05-13 20:09:24
阅读次数:
272
P3398 仓鼠找sugar 题目描述 小仓鼠的和他的基(mei)友(zi)sugar住在地下洞穴中,每个节点的编号为1~n。地下洞穴是一个树形结构。这一天小仓鼠打算从从他的卧室(a)到餐厅(b),而他的基友同时要从他的卧室(c)到图书馆(d)。他们都会走最短路径。现在小仓鼠希望知道,有没有可能在某 ...
分类:
其他好文 时间:
2016-11-15 19:13:13
阅读次数:
236
本文总结了图的几种最短路径算法的实现:深度或广度优先搜索算法,弗洛伊德算法,迪杰斯特拉算法,Bellman-Ford算法 1),深度或广度优先搜索算法(解决单源最短路径)从起始结点开始访问所有的深度遍历路径或广度优先路径,则到达终点结点的路径有多条,取其中路径权值最短的一条则为最短路径。 下面是核心 ...
分类:
编程语言 时间:
2016-06-07 22:10:29
阅读次数:
511