我积累的一些常见的算法以及人工智能方面的算法
2020-06-10 本文已影响0人
qiyubing
本仓库是我积累的一些常见算法以及人工智能方面的算法
该仓库会不断更新,也欢迎您一同贡献,或提出您的反馈!
如果该仓库帮助到了您,或对它感兴趣,可通过Star + Watch表示鼓励
仓库地址:https://github.com/yub1ng/Algorithm
个人博客地址:http://qiyubing.cn
目录
智能算法
算法名 | 描述 | 语言 | 文件 |
---|---|---|---|
极大极小值算法 | 利用极大极小值算法实现的井字棋对弈 | Python3 | minimax.py |
排序算法
算法名 | 描述 | 语言 | 文件 |
---|---|---|---|
冒泡排序 | Python3 | bubble_sort.py | |
选择排序 | Python3 | selection_sort.py |
搜索算法
算法名 | 描述 | 语言 | 文件 |
---|---|---|---|
宽度优先搜索算法 | 利用open表与closed表实现 | Python3 | bfs.py |
图算法
算法名 | 描述 | 语言 | 文件 |
---|---|---|---|
旅行商问题 | 送货问题 | Java | Tsp.java |
最短路径 | Dijkstra法求解最短路径 | Java | Dijkstra.java |
数值计算
算法名 | 描述 | 语言 | 文件 |
---|---|---|---|
方程求根 | 二分法和牛顿法求解方程的根 | Java | SolvingEquation.java |
矩阵方程 | 求解矩阵方程 | Java | MatrixEquation.java |
数据结构
算法名 | 描述 | 语言 | 文件 |
---|---|---|---|
无向图 | 邻接表实现 | C | UDG.c |
二叉树 | 链式实现 | C | BiTree.c |
链表 | C | LinkList.c | |
二分查找 | 构造搜索树并使用二分查找 | C | BinarySearch.c |
选择排序 | 链表实现 | C | SelectSort.c |
规划调度
算法名 | 描述 | 语言 | 文件 |
---|---|---|---|
最小延迟调度 | 贪心法求解 | Java | MinDelaySchedule.java |
01背包 | 贪心法求解 | Java | OneZeroKnapsack.java |
基础背包 | 根据利润/重量得到的权重,冒泡排序后装入背包 | Java | KnapsackDemo.java |
其他
算法名 | 描述 | 语言 | 文件 | |||||||
---|---|---|---|---|---|---|---|---|---|---|
汉诺塔 | Python3 | hanoi_tower.py | ||||||||
俄罗斯方块 | 通过判断下落阻塞和触底来模拟俄罗斯方块 | Java | Tetris.java | |||||||
单词统计 | Java | WordStatistics.java | ||||||||
最大子段和 | 分治法求解最大子段和 | Java | MaximumIntervalSum1.java | |||||||
最大子段和 | 动态规划求解最大子段和 | Java | MaximumIntervalSum2.java | |||||||
斐波那契 | 生成斐波那契数列 | Java | Fibonacci.java | |||||||
格雷码 | 生成格雷码 | Java | GrayCode.java | |||||||
汉诺塔 | Java | HanoiTowerDemo.java |