- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 Dijkstra算法原理及实现
算法原理1. 简介Dijkstra算法是从一个顶点到其余各顶点的最短路径(单源最短路径)算法,解决的是有向图中最短路径问题。算法的主要特点是使用了广度优先搜索策略,以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。2. 原理首先,引入一个辅助向量DDD,它的每个分量 D[i]D[i]D [i...
2018-02-24 15:51:43 8852 2
原创 二叉树的前序,中序,后续,递归及非递归遍历的python实现
在计算机科学里,树的遍历(也称为树的搜索)是图的遍历的一种,指的是按照某种规则,不重复地访问某种树的所有节点的过程。具体的访问操作可能是检查节点的值、更新节点的值等。不同的遍历方式,其访问节点的顺序是不一样的。遍历的种类遍历方式的命名,源于其访问节点的顺序。最简单的划分:深度优先,广度优先。 深度优先遍历又可分为,前序遍历(pre-order), 中序遍历(in-order),后序遍...
2018-02-21 14:35:48 3222 1
原创 堆的基本概念及常用操作
堆完全二叉树:若设二叉树的深度为nnn,除第nnn层外,其它各层 (111~n−1n−1n-1) 的结点数都达到最大个数,第nnn层所有的结点都连续集中在最左边,这就是完全二叉树满二叉树:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为nnn,且结点总数是2n−12n−12^n - 1 ,则它就是满二叉树堆(heap)又被为优先队列...
2018-02-17 00:39:57 6421
原创 python关于自定义模块导入的问题
问题描述关于自定义模块的问题,之前python2,python3版本问题,导入的模块的方式不同,在python3可行的模块导入方法在python2就不能用了,踩了很多坑,也总结出了一套通用的方法来解决这个问题(no model named xxx)通用的解决方法当我们导入一个模块时:import xxx,默认情况下python解析器会搜索当前目录、已安装的内置模块和第三方模块,搜索
2018-02-07 13:31:50 1783
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人