排序算法可视化

Posted 飞鸢逐浪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法可视化相关的知识,希望对你有一定的参考价值。

参考1)  <Algorithms_4th> chapter 2 sorting

参考2)   Sorting algorithms, wiki

 

1  selection sort 选择排序

  首先,整个序列一次比较,选择最小值,置于第一位;

  然后,剩余序列再次比较,选择最小值,置于第二位; 以此类推。

  技术分享          

  Java 实例:

技术分享
public class Selection
{
    public static void sort(Comparable[] a)
    {   
        // Sort a[] into increasing order.
        int N = a.length;      // array length
        for (int i = 0; i < N; i++)
        {   
            // Exchange a[i] with smallest entry in a[i+1...N).
            int min = i;       // index of minimal entr.
            for (int j = i+1; j < N; j++)
                if (less(a[j], a[min])) min = j;
            exch(a, i, min);
        }
      }
}
View Code

 

2  insertion sort 插入排序

  首先,前两个元素比较,逆序交换位置,顺序则不变;

  然后,后面元素与其依次比较(即已经排序的前面元素),插入相应的位置;以此类推。

  技术分享      技术分享

  Java 实例:

技术分享
public class Insertion
{
    public static void sort(Comparable[] a)
    { 
        // Sort a[] into increasing order.
        int N = a.length;
        for (int i = 1; i < N; i++)
        {
            // Insert a[i] among a[i-1], a[i-2], a[i-3]... ..
            for (int j = i; j > 0 && less(a[j], a[j-1]); j--)
                exch(a, j, j-1);
        }
      }
}
View Code

 

3  merge sort 合并排序

    技术分享    技术分享

4  quick sort 快速排序

  技术分享      技术分享

5  bubble sort 冒泡排序

  首先,前两个元素比较,小值置前,大值排后;

  然后,右移一个位置, 继续两两比较,直到最大值沉于末尾;以此类推。

  技术分享

以上是关于排序算法可视化的主要内容,如果未能解决你的问题,请参考以下文章

基于JavaScript实现的八种排序算法的可视化实现

基于JavaScript实现的八种排序算法的可视化实现

基于JavaScript实现的八种排序算法的可视化实现

可视化太酷辽!一文了解排序和搜索算法在前端中的应用

排序桶排序 bucket sort

各种排序算法的可视化展现