Java数据结构 -- 排序算法
Java数据结构 -- 排序算法
小朋友/?
你好呀~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java数据结构 -- 堆排序
1.什么是堆 堆是一种数据结构,需要满足以下两个特点 a. 是一个完全二叉树 b. 对于堆上的每一个结点, 都必须满足: 父结点的值大于子结点的值 2.什么是完全二叉树 下面七棵树都是完全二叉树 完全二叉树最大的特点是: 生成节点顺序是 从上到下,从左到右 依次生成 从树的第h-1层(倒数第二层)开始进行向下调整 建大堆 进行堆排序之后 是升序 建小堆 进行堆排序...原创 2020-02-06 23:17:29 · 189 阅读 · 0 评论 -
Java数据结构 -- 归并排序
1.原理 归并排序采用的是分治算法, 将已有的子序列合并, 得到完全有序的序列; 即先使每个子序列有序, 再使子序列段间有序. 若将两个有序表合并成一个有序表, 称为二路归并. 执行流程: 1. 不断地将当前序列平均分割成2个子序列 直到不能再分割(即序列中只剩1个元素) 2. 不断地将2个子序列合并成一个有序序列 直到最终只剩下1个有序序列 2.代码实现 要将两个排好序的子序...原创 2020-01-31 12:40:32 · 173 阅读 · 0 评论 -
Java数据结构 -- 快速排序
1.原理 1.从待排序区间选择一个数,作为基准值(pivot); 2.partition(分割): 遍历整个待排序区间, 将比基准值小的(可包含相等的)放到基准值的左边, 将比基准值大的(可包含相等的)放到基准值的右边; 3.采用分治的思想, 对左右两个小区间按照同样的方式处理, 直到小区间的长度==1, 代表已经有序, 或者小区间的长度等于0, 代表没有数据. 2.代码实现 impo...原创 2020-01-30 18:51:35 · 367 阅读 · 0 评论 -
Java数据结构 -- 冒泡排序
1.原理 在无序区间内, 通过相邻数的比较, 将最大的数冒泡到无序区间的最后, 持续这个过程, 直到数组整体有序 2.代码实现 import java.util.*; public class bubbleSort{ public static void bubbleSort(int[] array){ for(int i = 0; i < array....原创 2020-01-30 18:50:18 · 188 阅读 · 0 评论
分享