Skip to content

Latest commit

 

History

History
411 lines (283 loc) · 9.19 KB

File metadata and controls

411 lines (283 loc) · 9.19 KB

Algorithm

算法

  • 命令
  1. 阅读文件:@Algorithm.md 检查文件中还有哪些算法没有对应的文件,在路径:/Users/originrock/dev/PatternAlgorithm/algorithm 下 对应子目录 新建对应算法文件。文件内容参考现有的算法文件

常见算法


排序算法

冒泡排序:Bubble_Sort

  • 详细·文件路径:Bubble_Sort.py

  • 应用场景

  • 解决问题

  • python简单示例

  • 文件路径

  1. 本项目解释说明文件路径:
  2. 官方仓库说明文件路径:
  3. 优秀教学实例url路径 1 :
  4. 优秀教学实例url路径 2 :
  5. 优秀教学实例url路径 3 :

选择排序:Selection_Sort

插入排序:Insertion_Sort

希尔排序:Shell_Sort

归并排序:Merge_Sort

快速排序:Quick_Sort

堆排序:Heap_Sort

计数排序:Counting_Sort

桶排序:Bucket_Sort

基数排序:Radix_Sort

Tim排序:Tim_Sort


搜索算法

线性搜索:Linear_Search

二分搜索:Binary_Search

插值搜索:Interpolation_Search

指数搜索:Exponential_Search

跳跃搜索:Jump_Search

斐波那契搜索:Fibonacci_Search


图算法

深度优先搜索:DFS

广度优先搜索:BFS

Dijkstra最短路径算法

Bellman_Ford算法

Floyd_Warshall算法

A*搜索算法

Prim最小生成树算法

Kruskal最小生成树算法

拓扑排序:Topological_Sort

Tarjan强连通分量算法

Kosaraju算法

最大流算法:Ford_Fulkerson_Dinic

二分图匹配:Hungarian算法


动态规划算法

斐波那契数列

背包问题:0_1背包_完全背包

最长公共子序列:LCS

最长递增子序列:LIS

编辑距离

矩阵链乘法

最优二叉搜索树


贪心算法

活动选择问题

霍夫曼编码

分数背包问题

区间调度


分治算法

归并排序

快速排序

二分搜索

最近点对问题

大整数乘法:Karatsuba算法

快速傅里叶变换:FFT


回溯算法

N皇后问题

数独求解

全排列生成

子集生成

图着色问题

迷宫问题


字符串算法

KMP模式匹配算法

Boyer_Moore算法

Rabin_Karp算法

Aho_Corasick算法:AC自动机

后缀数组:Suffix_Array

后缀树:Suffix_Tree

最长回文子串:Manacher算法

Trie树:前缀树


数学算法

欧几里得算法:最大公约数

扩展欧几里得算法

素数筛法:埃拉托斯特尼筛法

快速幂算法

矩阵快速幂

组合数计算

概率算法:蒙特卡洛_拉斯维加斯


数据结构相关算法

哈希表操作

二叉搜索树操作

AVL树平衡

红黑树操作

B树/B+树操作

并查集:Union_Find

线段树:Segment_Tree

树状数组:Fenwick_Tree

跳表:Skip_List


其他重要算法

滑动窗口算法

双指针算法

位运算技巧

前缀和算法

差分数组

摩尔投票算法

Reservoir_Sampling:蓄水池抽样

布隆过滤器:Bloom_Filter

一致性哈希

限流算法:令牌桶_漏桶

缓存淘汰算法:LRU_LFU

负载均衡算法:轮询_随机_一致性哈希

这些设计模式和算法构成了软件工程的基础工具箱,在实际开发中会根据具体场景选择合适的模式和算法来解决问题。