数据结构与算法 八种基本算法
数据结构与算法基础
八种常用排序方法
交换排序
- 冒泡排序
原理就是与后一个进行比较、然后根据大小决定是否进行交换位置、将得到结果放在后面最后形成排序结果
代码示例
1 | public class BubbleSort { |
- 快速排序
原理就是找到一个标准数、随便找、一般都是用数组第一个元素、然后将比标准数小的放在左边、记作为底的一边、然后将比标准数大的放在右边、记作高的一边、然后递归得到排序结果
代码示例
1 | public class QuickSort { |
插入排序
- 直接插入排序
原理就是判断当前的这个数据值与他前一个数据的值的关系、从小到大就是当前这个数据比前一个数据小、则将当前数据存放到中间变量中、然后将前一个赋值给当前变量、将中间变量一直与前一个数据判断、最后中间变量赋值给不符合题意的、从大到小反之即可、但是效率不怎么好
代码示例
1 | public class InsertSort { |
- 希尔排序
原理就是根据步长分成若干份、依次遍历步长分成的不同块、根据要求交换位置进行排序
代码示例
1 | public class ShellSort { |
选择排序
- 简单选择排序
原理就是假定一个元素值是最小的、然后和所有的值进行比较、进行交换位置、一直将所有元素值都遍历比较结束即可
代码示例
1 | public class SelectSort { |
归并排序
原理就是将一个数组在中间拆开、然后两个数组从头依次比较每个下标元素、将小的数据存放到新的临时数组当中、然后循环遍历拆分、依次放到新的临时数组当中、最后将临时数组在赋值给原数组即可
代码示例
1 | public class MergeSort { |
- 堆排序
基数排序
原理就是找到数组当中的最大数是几位数、然后就排几次、依次按个十百千万开始排、用几个临时数组依次存储个十百千万位为0~9的、先是个位、然后一直到最大值位数、最后将临时数组中的数据赋值给原数组即可
- 数组方式
代码示例
1 | public class RadixSort { |
- 队列方式
代码示例
1 | public class RadixQueueSort { |
对列
1 | public class MyQueue { |
正确的开始、微小的长进、然后持续、嘿、我是小博、带你一起看我目之所及的世界……
本文标题:数据结构与算法 八种基本算法
发布时间:2021年08月09日 - 12:57
最后更新:2021年08月09日 - 12:59
原始链接:https://codexiaobo.github.io/posts/1028172237/
许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。