当前位置: 知识学习 > 排序算法有哪些

排序算法有哪些

  • 分类:知识学习
  • 更新时间:2025-04-10
  • 发布时间:2024-05-12 05:20:12
1.插入排序—直接插入排序(Straight Insertion Sort) 2. 插入排序—希尔排序(Shell`s Sort)3. 选择排序—简单选择排序(Simple Selection Sort)4. 选择排序—堆排序(Heap S
内容详情

1.插入排序—直接插入排序(Straight Insertion Sort)

2. 插入排序—希尔排序(Shell`s Sort)

3. 选择排序—简单选择排序(Simple Selection Sort)

4. 选择排序—堆排序(Heap Sort)

5. 交换排序—冒泡排序(Bubble Sort)

6. 交换排序—快速排序(Quick Sort)

7. 归并排序(Merge Sort)

8. 桶排序/基数排序(Radix Sort)

面试会出哪些经典算法题?

不同的排序,首先是思路的多样性,也就是从不同角度思考 排序 这个问题

思路很多,排序算法自然就有很多

另外,不同的排序算法各有优势和劣势,根据具体数据规模等情况适用

我个人在用排序的时候,也没有仔细考虑用哪一个,反正集中排序算法都了解,在写程序的时候,思路就可以灵活和开阔一些

如下:

1、排序算法∶快速排序、归并排序、计数排序

2、搜索算法∶回溯、递归、剪枝技巧

3、图论∶最短路、最小生成树、网络流建模

4、动态规划:背包问题、最长子序列、计数问题

5、基础技巧:分治、倍增、二分、贪心

6、数组与链表:单/双向链表、跳舞链

7、栈与队列

8、树与图:最近公共祖先、并查集

9、哈希表

10、堆:大/小根堆、可并堆

11、字符串∶字典树、后缀树

算法简介:

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。

算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。一个状态到另一个状态的转移不一定是确定的。随机化算法在内的一些算法,包含了一些随机输入。

形式化算法的概念部分源自尝试解决希尔伯特提出的判定问题,并在其后尝试定义有效计算性或者有效方法中成形。

这些尝试包括库尔特·哥德尔、Jacques Herbrand和斯蒂芬·科尔·克莱尼分别于1930年、1934年和1935年提出的递归函数,阿隆佐·邱奇于1936年提出的λ演算,1936年Emil Leon Post的Formulation 1和艾伦·图灵1937年提出的图灵机。即使在当前,依然常有直觉想法难以定义为形式化算法的情况。

点击查看全部内容