ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Python 中常用的算法
[打印本页]
作者:
瑞星
时间:
2025-1-1 12:01
标题:
Python 中常用的算法
1.
排序算法
用于将数据按特定顺序排列。
冒泡排序
(Bubble Sort)
选择排序
(Selection Sort)
插入排序
(Insertion Sort)
快速排序
(Quick Sort)
归并排序
(Merge Sort)
堆排序
(Heap Sort)
计数排序
(Counting Sort)
基数排序
(Radix Sort)
桶排序
(Bucket Sort)
2.
搜刮算法
用于在数据集中查找特定元素。
线性搜刮
(Linear Search)
二分搜刮
(Binary Search)
深度优先搜刮
(DFS, Depth-First Search)
广度优先搜刮
(BFS, Breadth-First Search)
3.
图算法
用于处置惩罚图布局数据。
Dijkstra 算法
(最短路径)
Floyd-Warshall 算法
(全部节点对的最短路径)
Bellman-Ford 算法
(带负权边的最短路径)
Kruskal 算法
(最小天生树)
Prim 算法
(最小天生树)
拓扑排序
(Topological Sort)
强连通分量
(Strongly Connected Components)
4.
动态规划
用于办理具有重叠子问题和最优子布局的问题。
斐波那契数列
背包问题
(Knapsack Problem)
最长公共子序列
(LCS, Longest Common Subsequence)
最长递增子序列
(LIS, Longest Increasing Subsequence)
矩阵链乘法
(Matrix Chain Multiplication)
编辑距离
(Edit Distance)
5.
贪默算法
在每一步选择中采取当前最优的选择。
活动选择问题
(Activity Selection Problem)
霍夫曼编码
(Huffman Coding)
最小天生树
(MST, Minimum Spanning Tree)
硬币找零问题
(Coin Change Problem)
6.
分治算法
将问题分解为更小的子问题,分别办理后再合并效果。
归并排序
(Merge Sort)
快速排序
(Quick Sort)
二分搜刮
(Binary Search)
大整数乘法
(Karatsuba Algorithm)
7.
回溯算法
通过试错的方式探求问题的解,通常用于组合问题。
八皇后问题
(N-Queens Problem)
数独求解
(Sudoku Solver)
子集天生
(Subset Generation)
排列组合
(Permutations and Combinations)
8.
字符串算法
用于处置惩罚字符串相关的问题。
KMP 算法
(字符串匹配)
Rabin-Karp 算法
(字符串匹配)
最长回文子串
(Longest Palindromic Substring)
字符串编辑距离
(Edit Distance)
Trie 树
(前缀树)
9.
数学算法
用于办理数学问题。
欧几里得算法
(最大公约数)
素数检测
(Sieve of Eratosthenes)
快速幂算法
(Exponentiation by Squaring)
斐波那契数列
(Fibonacci Sequence)
牛顿迭代法
(求平方根)
10.
机器学习算法
用于数据分析和猜测。
线性回归
(Linear Regression)
逻辑回归
(Logistic Regression)
K 近邻算法
(K-Nearest Neighbors, KNN)
决策树
(Decision Tree)
随机森林
(Random Forest)
支持向量机
(SVM, Support Vector Machine)
K 均值聚类
(K-Means Clustering)
11.
其他常用算法
哈希算法
(Hash Functions)
滑动窗口算法
(Sliding Window)
双指针算法
(Two Pointers)
位运算算法
(Bit Manipulation)
示例代码:快速排序(Quick Sort)
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
# 示例使用
arr = [3, 6, 8, 10, 1, 2, 1]
sorted_arr = quick_sort(arr)
print("排序后的数组:", sorted_arr)
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4