C# 常用的排序方法

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++)

C# 冒泡排序-CSDN博客文章浏览阅读2次。冒泡排序是稳定的,即相等元素的相对顺序在排序前后保持不变。在比较相邻元素时,只有前一个元素大于后一个元素时才会交换它们的位置,所以相等元素不会发生位置交换。冒泡排序是一种简单的排序算法,它重复地遍历待排序的元素,比较相邻两个元素的大小,并按照规定的顺序交换它们,直到整个序列排序完成。冒泡排序的时间复杂度为O(n^2),其中n是待排序序列的长度。https://blog.csdn.net/u012655702/article/details/135657795?spm=1001.2014.3001.5501
插入排序(Insertion Sort)

  1. 插入排序是通过构建有序序列,对未排序的数据逐个进行插入,直至全部数据有序。

C# 插入排序-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/u012655702/article/details/135701857?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135701857%22%2C%22source%22%3A%22u012655702%22%7D
选择排序(Selection Sort)

   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博客icon-default.png?t=N7T8https://blog.csdn.net/u012655702/article/details/135669459?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135669459%22%2C%22source%22%3A%22u012655702%22%7D
快速排序(Quick Sort)

       快速排序是一种高效的排序算法,通过使用递归分治的思想,将数组按照基准元素划分为两个子数组,并逐步递归排序子数组,最终实现整个数组的排序

C# 快速排序-CSDN博客icon-default.png?t=N7T8https://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创作中心icon-default.png?t=N7T8https://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博客icon-default.png?t=N7T8https://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博客icon-default.png?t=N7T8https://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)

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值