![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
记录_分享
万千思绪,不如做出来。
展开
-
(一)交换排序:从冒泡排序开始(内附改进方法Java版)
最近在看数据结构与算法,先从冒泡排序开始吧。import java.util.*;class BubbleSort { public static void main(String[] args) { int[] arr=new int[]{1,5,7,8,3,2,4,9,6}; bubbleSort(arr); } public...原创 2019-03-20 20:13:27 · 139 阅读 · 0 评论 -
(三)插入排序:直接插入排序(Java版)
直接插入排序主要是理解代码中的插入是通过标记数组的索引,通过不断“复制”,把前面的数挪到后边。再把标记的数放到前面,即插入到前面。import java.util.*;class InsertSort { public static void main(String[] args) { int[] arr=new int[]{9,8,7,6,5,4,3,2,1}; insertS...原创 2019-04-04 11:53:28 · 126 阅读 · 0 评论 -
(四)插入排序:希尔排序(Java版)
希尔排序和直接插入排序代码中有相似的地方,本质上体现了插入的思想。import java.util.*;class ShellSort { public static void main(String[] args) { int[] arr=new int[]{9,8,7,6,5,4,3,2,1}; shellSort(arr); } public static void she...原创 2019-04-04 12:03:45 · 119 阅读 · 0 评论 -
(五)选择排序:简单选择排序(Java版)
简单选择排序是比较好理解的排序,但是时间复杂度居然是O(n^2).比较有意思的是编程中通过标记数组索引实现选择。import java.util.*;class SelectSort { public static void main(String[] args) { int[] arr=new int[]{9,8,7,6,5,4,3,2,1}; selectSort(arr); ...原创 2019-04-04 12:16:14 · 182 阅读 · 0 评论 -
(六)选择排序:堆排序(Java版)
堆排序比较难,需要理解堆调整的过程。import java.util.*;class HeapSort { public static void main(String[] args) { //System.out.println("Hello World!"); int[] arr=new int[]{9,1,7,6,5,4,3,2,8}; heapSort(arr);...原创 2019-04-04 13:38:21 · 122 阅读 · 0 评论 -
(七)归并排序(Java版)
递归,同时注意在左右两个部分,长度不一样时候的处理。import java.util.*;class MergeSort { public static void main(String[] args) { int[] arr=new int[]{9,8,7,6,5,4,3,2,1}; int low=0; int high=arr.length-1; mergeSort(a...原创 2019-04-04 13:46:09 · 132 阅读 · 0 评论 -
(八)基数排序(Java版)
用在有数量级差异的数的比较上可能比较好用。从个位比较到最高位。import java.util.*;class RadixSort { public static void main(String[] args) { int[] arr=new int[]{1,1009,887,664,559,337,43,68,97,30005,28,666666,88888}; radixSor...原创 2019-04-04 13:52:44 · 147 阅读 · 0 评论 -
(二)交换排序:快速排序(Java版)
冒泡排序和快速排序中都出现了数组中两个元素的交换,不过快速排序较为隐蔽,或者说是有些许不同的。可以结合程序体会。import java.util.*;class QuickSort { public static void main(String[] args) { int[] arr=new int[]{9,8,7,6,5,4,3,2,1,10}; ...原创 2019-03-23 21:34:23 · 274 阅读 · 0 评论