![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
丿镜花水月
水中月是天上月,眼前人是心上人
展开
-
java实现排序算法
基本排序算法冒泡排序插入排序选择排序归并排序快速排序桶排序计数排序基数排序冒泡排序思路我们要对4,5,6,3,2,1从小到大进行排序。冒泡排序只会操作相邻的两个数据,每次冒泡操作都会对相邻的两个元素进行比较,如果第一个数小于第二个数、则此次不移动位置,如果第一个数大于第二个数、则这两个数位置互换,保证大数往后移。一次冒泡会至少让一个元素移动到他应该在的位置,重复n次,就完成了n...原创 2018-10-31 15:04:16 · 2957 阅读 · 0 评论 -
冒泡排序(java)过程分析
实现如下(从小到大排序) for (int i = 0; i < data.length; i++) { boolean flag = false; for (int j = i + 1; j < data.length; j++) { if (data[i] > data[j]) {...原创 2019-05-06 23:47:41 · 327 阅读 · 0 评论 -
插入排序(java)过程分析
实现如下 for (int i = 1; i < data.length; i++) { int temp = data[i]; int j = i - 1; for (; j >= 0; j--) { if (data[j] > temp) { ...原创 2019-06-19 15:41:56 · 152 阅读 · 0 评论 -
归并排序与快速排序(java)
归并排序public class MergeSort { public static void main(String[] args) { int[] data = new int[]{6, 5, 4, 3, 2, 1}; mergeSort(data, 0, data.length - 1); System.out.println();...原创 2019-06-26 13:31:54 · 185 阅读 · 0 评论 -
二分查找
二分查找二分查找是一种极致快速的查找方式,时间复杂度仅为:O(log(n))二分查找对数据有很高的要求,包含以下三点:必须为数组结构二分查找其实也可以依赖链表结构,不过如果使用链表接口、那么时间复杂度就会退化到O(n),把整个数据遍历一遍进行查找的效率是一样的、甚至更低,链表不适用于二分查找。数据必须有序二分查找依赖于数据的有序、因为二分法中的数据对比、取决的数据的顺序。如果数据无序...原创 2019-07-11 14:26:04 · 173 阅读 · 0 评论