
数据结构与算法
功夫小象
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于pytorch实现任意python任务多线程处理
简单好用易扩展的python多线程代码!原创 2022-12-16 00:05:40 · 525 阅读 · 1 评论 -
Floyd最短路径python实现
Folyd最短路径实现方法非常简单,利用三次循环即可解决,基于动态规划原理,适用于多点最短路径求解,以及存在负权边的情况。 对于单源点最短路径求解可以参考Dijkstra方法。 指路==>Dijkstra最短路径超简易实现 同样引用知乎的一个有向图作为例子 代码如下: def floyd(adjacency_matrix): v_num = len(adjacency_matrix) a = [[x for x in row] for row in adjacency_matri原创 2021-08-08 21:38:21 · 939 阅读 · 0 评论 -
Dijsktra最短路径python+优先队列超简易实现
Disjstra的逻辑相信大家都已经有所了解,就是利用已知节点的最短路径进行动态规划,主要用于单源节点最短路径问题。 引用知乎的一个最短路径图如下 则对应python代码为(节点编号从1开始,所以代码中的索引记得减1) def dijsktra(adjacency_graph, start): v_num = len(adjacency_graph) paths = [None] * v_num cands = PriorityQueue() cands.put((0,原创 2021-08-08 18:31:04 · 496 阅读 · 0 评论 -
二叉树的最大深度——递归算法与非递归算法实现及其复杂度分析
该算法题源力扣,如下: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 /// / //\ ///15 7 ...原创 2019-12-03 20:00:28 · 3415 阅读 · 0 评论 -
移除K位数字——基于贪心算法和迭代的Python实现及优化
问题描述: 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小,其中: num 的长度小于 10002 且 ≥ k num 不会包含任何前导零 > 示例1: 输入: num = “1432219”, k = 3 输出: “1219” 解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。 示例2: 输入: num = “1...原创 2019-11-05 18:41:04 · 967 阅读 · 3 评论