C# 中常用的算法包括:
1、排序算法:
冒泡排序(Bubble Sort)
n代表排序的数组长度,冒泡排序记住外层循环的总遍历次数n-1,内层循环遍历总数为n-1-i,i为外层的变量 ,总体格式如下
for (int i = 0; i < n - 1; i++)
for (int j = 0; j < n - 1 - i; j++)
-
插入排序是通过构建有序序列,对未排序的数据逐个进行插入,直至全部数据有序。
n代表排序的数组长度,选择排序记住外层循环的总遍历次数n-1,内层循环遍历总数为n,内层起始位置为外层起始+1,总体格式如下
for (int i = 0; i < arr.Length-1; i++)
for (int j = i+1; j < arr.Length; j++)
快速排序是一种高效的排序算法,通过使用递归分治的思想,将数组按照基准元素划分为两个子数组,并逐步递归排序子数组,最终实现整个数组的排序。
C# 快速排序-CSDN博客https://blog.csdn.net/u012655702/article/details/135850103?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135850103%22%2C%22source%22%3A%22u012655702%22%7D
归并排序(Merge Sort)
堆排序(Heap Sort)
2、搜索算法:
二分搜索(Binary Search)
二分法的基本思想是:算法的基本思想是每次将搜索范围缩小一半,直到找到目标值或搜索范围为空。
如果目标值小于中间值,说明目标值可能在左半边。我们将右边界缩小为中间值的左边一位。
如果目标值大于中间值,说明目标值可能在右半边。我们将左边界扩大为中间值的右边一位。
写文章-CSDN创作中心https://mp.csdn.net/mp_blog/creation/editor/135829446
深度优先搜索(Depth First Search)
广度优先搜索(Breadth First Search)
3、动态规划算法:
背包问题(Knapsack Problem)
最长公共子序列(Longest Common Subsequence)
最短路径问题(Shortest Path Problem)
4、图算法:
图的遍历(Graph Traversal)
最小生成树(Minimum Spanning Tree)
最短路径算法(Shortest Path Algorithm)
5、字符串匹配算法:
暴力匹配算法(Brute Force)
C#字符串匹配(模式搜索)BF(Brute Force)暴力算法-CSDN博客https://blog.csdn.net/u012655702/article/details/135998155?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135998155%22%2C%22source%22%3A%22u012655702%22%7D
KMP 算法(Knuth-Morris-Pratt Algorithm)
Boyer-Moore 算法
6、数字运算算法:
C# 最大公约数,最小公倍数-CSDN博客https://blog.csdn.net/u012655702/article/details/135980164?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135980164%22%2C%22source%22%3A%22u012655702%22%7D求幂算法(Exponentiation)
最大公约数算法(Greatest Common Divisor)
最小公倍数算法(Least Common Multiple)