随笔分类 -  编程语言

摘要:__author__ = 'Aaron Yang' __email__ = 'byang971@usc.edu' __date__ = '6/30/2020 3:44 PM' result = list() def dfs(graph, visited, init_node): if init_no 阅读全文
posted @ 2020-07-01 07:00 Sight-Tech 阅读(248) 评论(0) 推荐(0)
摘要:__author__ = 'Aaron Yang' __email__ = 'byang971@usc.edu' __date__ = '6/30/2020 11:50 AM' def bfs(graph, init_node): visited = [init_node] # List to ke 阅读全文
posted @ 2020-07-01 03:18 Sight-Tech 阅读(204) 评论(0) 推荐(0)
摘要:在有向无环图DAG中, 使用拓扑排序,将获得一个包含所有顶点的一个列表组合, 因此可以用来遍历DAG。 步骤 从 DAG 图中选择一个 没有前驱(即入度为0)的顶点并输出。 从图中删除该顶点和所有以它为起点的有向边。 重复 1 和 2 直到当前的 DAG 图为空或当前图中不存在无前驱的顶点为止。后一 阅读全文
posted @ 2020-07-01 02:21 Sight-Tech 阅读(455) 评论(0) 推荐(0)
摘要:生成树 from heapq import heapify, heappush, heappop from itertools import count """ https://www.cnblogs.com/xuchunlin/p/7247346.html """ def huffman(node 阅读全文
posted @ 2020-06-28 08:31 Sight-Tech 阅读(234) 评论(0) 推荐(0)
摘要:目标 带权重的有向图上单源最短路径问题。且权重都为非负值。如果采用的实现方法合适,Dijkstra运行时间要低于Bellman-Ford算法。 思路 选择一个节点开始蔓延 计算自身到连接它的一级节点之间的距离, 全部作为候选集 在候选集中,找到距离最短的,对应的那个节点 删除这个节点在候选集中的信息 阅读全文
posted @ 2020-06-26 08:51 Sight-Tech 阅读(238) 评论(0) 推荐(1)
摘要:问题的描述 在这里就不赘述了,你能搜到这篇文章,那肯定知道只算法的背景是啥 解决思路 男生向还未拒绝其的女生中选出优先级最高的,并向其求婚 女生如果没有已经被优先级更高的男生求婚,则答应(女生以后可以反悔)。 如果反之,则拒绝 对此步骤进行loop,直到没有求婚发生 这篇文章,讲一个自己实现的GS算 阅读全文
posted @ 2020-06-24 14:23 Sight-Tech 阅读(386) 评论(0) 推荐(0)
摘要:python中,* 号除了用来做数量乘法,还有其他的用处。 结论 概括的来说,就是对修饰的变量进行拆分, 对修饰的形式参数进行参数聚集。 单*号,将被修饰的变量按元素方式拆分, 对修饰的形式参数进行参数聚集。 双**号,将被修饰的变量按键值对进行拆分, 对修饰的形式参数进行参数聚集。 修饰实例变量时 阅读全文
posted @ 2020-06-01 14:08 Sight-Tech 阅读(238) 评论(0) 推荐(0)
摘要:实验结论 如果需要在循环结束后获得结果,推荐列表解析; 如果不需要结果,直接使用for循环, 列表解析可以备选; 除了追求代码优雅和特定规定情境,不建议使用map 如果不需要返回结果 这里有三个process, 每个任务将通过增加循环提高时间复杂度 def process1(val, type=No 阅读全文
posted @ 2020-05-29 14:25 Sight-Tech 阅读(1163) 评论(0) 推荐(1)
摘要:选择合适的数据结构 考虑不同的应用场景,应选择不同的数据结构 比如在查找多于插入的场景中,考虑字典Dict是不是更适合; 因为在Python3中, 字典Dict 通过hash把key映射到hash table的不同位置(或者说不同的bucket中), 因此查找操作的复杂度为 O(1); 而列表lis 阅读全文
posted @ 2020-05-29 14:15 Sight-Tech 阅读(176) 评论(0) 推荐(0)