计算机必背单词——算法
这些都是我认为程序员需要掌握的单词,就算有些英文你不熟悉,但是对应的中文至少了解什么意思。
看完这个系列,希望你第一能认识更多单词,第二是拓宽自己的知识面,哪个概念不懂就自己去主动了解。
在计算机科学中,算法是解决问题和执行任务的明确指令序列。以下是一些算法相关的单词、词组、短语以及历史上一些著名的算法:
-
排序算法 (Sorting Algorithms):
-
Bubble Sort: 冒泡排序
-
Selection Sort: 选择排序
-
Insertion Sort: 插入排序
-
Merge Sort: 归并排序
-
Quick Sort: 快速排序
-
Heap Sort: 堆排序
-
Shell Sort: 希尔排序
-
Radix Sort: 基数排序
-
Counting Sort: 计数排序
-
Bucket Sort: 桶排序
-
-
搜索算法 (Search Algorithms):
-
Linear Search: 线性搜索
-
Binary Search: 二分搜索
-
Depth-First Search (DFS): 深度优先搜索
-
Breadth-First Search (BFS): 广度优先搜索
-
Uniform Cost Search: 均匀成本搜索
-
A* Search Algorithm: A*搜索算法
-
Greedy Best-First Search: 贪心最佳优先搜索
-
-
图算法 (Graph Algorithms):
-
Dijkstra's Algorithm: 迪杰斯特拉算法
-
Bellman-Ford Algorithm: 贝尔曼-福特算法
-
Floyd-Warshall Algorithm: 弗洛伊德-沃舍尔算法
-
Prim's Algorithm: 普里姆算法
-
Kruskal's Algorithm: 克鲁斯克尔算法
-
Johnson's Algorithm: 约翰逊算法
-
Ford-Fulkerson Algorithm: 福特-富尔克森算法
-
Edmonds-Karp Algorithm: 埃德蒙兹-卡普算法
-
-
字符串算法 (String Algorithms):
-
Knuth-Morris-Pratt (KMP) Algorithm: 克努斯-莫里斯-普拉特算法
-
Rabin-Karp Algorithm: 拉宾-卡普算法
-
Z-Algorithm: Z算法
-
Manacher's Algorithm: 曼彻斯特算法
-
Longest Common Subsequence (LCS): 最长公共子序列
-
Longest Increasing Subsequence (LIS): 最长递增子序列
-
-
数字和数论算法 (Number Theoretic Algorithms):
-
Euclidean Algorithm: 欧几里得算法
-
Extended Euclidean Algorithm: 扩展欧几里得算法
-
Sieve of Eratosthenes: 埃拉托斯特尼筛法
-
Fermat's Little Theorem: 费马小定理
-
Miller-Rabin Primality Test: 米勒-拉宾素性测试
-
-
动态规划 (Dynamic Programming):
-
Fibonacci Sequence: 斐波那契序列
-
Rod Cutting: 切割钢条
-
Matrix Chain Multiplication: 矩阵链乘法
-
Coin Change: 硬币找零
-
Edit Distance: 编辑距离
-
Knapsack Problem: 背包问题
-
-
分治算法 (Divide and Conquer):
-
Binary Search: 二分搜索
-
Merge Sort: 归并排序
-
Quick Sort: 快速排序
-
Closest Pair of Points: 最近点对问题
-
-
贪心算法 (Greedy Algorithms):
-
Huffman Coding: 霍夫曼编码
-
Activity Selection: 活动选择问题
-
Fractional Knapsack Problem: 分数背包问题
-
Minimum Spanning Tree: 最小生成树
-
-
其他著名算法 (Continued):
-
Karatsuba Multiplication: 卡拉次巴乘法,一种快速乘法算法。
-
Strassen's Matrix Multiplication: 施特拉森矩阵乘法,快速矩阵乘法的算法。
-
Lempel-Ziv-Welch (LZW) Compression: LZW压缩,一种无损数据压缩算法。
-
RSA Encryption Algorithm: RSA加密算法,一种非对称加密算法。
-
Diffie-Hellman Key Exchange: 迪菲-赫尔曼密钥交换,一种密钥交换算法。
-
PageRank: PageRank算法,谷歌用来对网页排名的算法。
-
Fast Fourier Transform (FFT): 快速傅立叶变换,用于将信号转换到频域的算法。
-
Bresenham's Line Algorithm: 布雷森汉姆直线算法,一种在栅格系统中绘制直线的算法。
-
Boyer-Moore String Search Algorithm: 用于字符串搜索的Boyer-Moore算法。
-
Perlin Noise: 佩林噪声,一种用于生成自然现象的纹理的算法。
-
Simulated Annealing: 模拟退火,一种随机性搜索算法,用于寻找一个足够好的近似全局最优解。
-
Genetic Algorithm: 遗传算法,模拟生物进化的搜索算法,常用于优化问题。
-
Expectation-Maximization (EM) Algorithm: 期望最大化算法,一种用于参数估计的统计算法。
-
Gradient Descent: 梯度下降,一种优化算法,用于找到函数的局部最小值。
-
这些算法各自在不同的领域和应用中扮演着重要的角色,从基础的数据处理到复杂的机器学习和优化问题。理解这些算法的原理和适用场景对于计算机科学的学习和实际问题的解决都是非常重要的