算法
kabuto_hui
渡己亦渡人
展开
-
最短路径-Floyd算法的matlab实现.md
最短路径-Floyd算法的matlab实现 弗洛伊德算法是解决任意两点间的最短路径的一种算法,可以正确处理有向图或有向图或负权(但不可存在负权回路)的最短路径问题。 在Floyd算法中一般有两个矩阵,一个距离矩阵D,一个路由矩阵R,其中距离矩阵用于存储任意两点之间的最短距离,而路由矩阵则记录任意两点之间的最短路径信息。其思想是:如果可以从一个点进行中转,就进行比较从这个点中转和不中转的距...原创 2018-09-28 16:56:03 · 56147 阅读 · 39 评论 -
遗传算法(GA)学习笔记.md
本文受到樊哲勇老师博客中的一个用matlab实现的50行的遗传算法程序 启发,并在此基础上增加了注释,并将遗传算法中的一些关键步骤重写了函数,使得整个代码结构、逻辑清晰。代码主要有六个文件:main.m : 主函数,在这里调用遗传算法my_ga.m : 完整的遗传算法函数my_gene.m : 基因编码,产生初代基因my_fitness.m : 适应度函数my_cross.m : 用于...原创 2018-09-29 11:00:43 · 3952 阅读 · 2 评论 -
10种排序算法总结(Python 版)
文章目录1. 冒泡排序($O(n^2)$)2. 快速排序($O(nlogn)$)3. 简单插入排序($O(n^2)$)4. 希尔排序($O(n\log n)$)5. 简单选择排序($O(n^2)$)6. 堆排序[$O(n\log n)$]7. 归并排序($O(n\log n)$)8. 计数排序($O(n+k)$)9. 桶排序($O(n+k)$)10. 基数排序($O(n*k)$)1. 冒泡...原创 2019-07-05 17:22:46 · 698 阅读 · 0 评论 -
最大公约数与最小公倍数的求法[Python]
最大公约数与最小公倍数的求法:1. 对输入的两个数判断大小,保证:a > b2. 进行循环,直到b = 0: temp = b b = a % b a = temp # 另一种表达方式为: a, b = b, a % b3. 最后返回b就是最大公约数最小公倍数就是两者的乘积除以最大公倍数Python代码实现 def func(num1, ...原创 2019-08-26 11:17:18 · 555 阅读 · 0 评论 -
并查集及其典型应用
文章目录1. 图的连通性问题2. 并查集的原理简析2.1 初始化集合S2.2 Union(并)2.3 Find(查)2.4 通过读入直接相连的点对来更新S,并统计每个联通块的节点数目3. Python实现参考资料1. 图的连通性问题 (1)在地图上有若干城镇(点),已知所有有道路直接相连的城镇对。要解决整幅图的连通性问题。 (2)随意给你两个点,让你判断它们是否连通;或者问你整幅图一共有...原创 2019-08-26 17:01:14 · 1177 阅读 · 0 评论