![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
Leehom_Wang
这个作者很懒,什么都没留下…
展开
-
直接插入排序(Straight Insertion Sort)
排序原理:将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增加1的有序表。 算法实现: public final class Test { public static void printf(int []a){ for(int i=0;i<a.length;i++){ System.out.print(a[i]+" "); } } public static void sort(...原创 2018-12-04 15:20:58 · 117 阅读 · 0 评论 -
希尔排序
算法原理:将待排序记录分成若干子序列分别进行直接插入排序,当整个序列基本有序时再全体进行一次插入排序。 算法优点:直接插入排序性能特点是在待排序记录规模较小、基本有序时排序效率较高,所以希尔排序就是在规模较大时将记录分割成较小的块用插入排序获得较高的效率,当块越来越小整个序列也变得更有序时对整体进行插入排序也能获得较高的效率。 算法缺点:在分割合并过程中相等大小的元素无法保证初始的相对位置,所以该...原创 2018-12-04 16:11:15 · 113 阅读 · 0 评论 -
快速排序
算法原理:通过一趟排序将记录分成两部分,其中一部分所有记录均比另一部分小,再继续处理两子部分。 算法实现: import java.util.*; public final class Test { public static void printf(int []a)//输出打印 { for(int i=0;i<a.length;i++) {...原创 2018-12-04 16:45:11 · 128 阅读 · 0 评论 -
简单选择排序
算法原理:通过n-i次比较整除剩余的未排序的记录中最小的值与第i个记录交换。 算法实现: import java.util.*; public final class Test { public static void printf(int []a) { for(int i=0;i<a.length;i++) { Sy...原创 2018-12-04 16:59:48 · 118 阅读 · 0 评论 -
堆排序
import java.util.*; public final class Test { public static void printf(int []a) { for(int i=0;i<a.length;i++) { System.out.print(a[i]+" "); } S...转载 2018-12-04 17:32:15 · 119 阅读 · 0 评论 -
归并排序
import java.util.*; public final class Test { public static void printf(int []a) { for(int i=0;i<a.length;i++) { System.out.print(a[i]+" "); } S...转载 2018-12-04 19:15:52 · 149 阅读 · 0 评论 -
基数排序
转一篇来自https://www.cnblogs.com/skywang12345/p/3603669.html 通过基数排序对数组{53, 3, 542, 748, 14, 214, 154, 63, 616},它的示意图如下: radix_sort(a, n)的作用是对数组a进行排序。 首先通过get_max(a)获取数组a中的最大值。获取最大值的目的是计算出数组a的最大指数。 获取...转载 2018-12-04 19:58:29 · 133 阅读 · 0 评论 -
二叉树排序算法
树的特征:左孩子<父节点<右孩子。 先构造树,然后中序遍历。 算法实现: public class BinaryTreeSort { private Node root; public class Node{ private int value; private Node left; private Node right;...原创 2018-11-30 17:58:25 · 257 阅读 · 0 评论