四. 常见基本排序算法的发明时间及发明人

1. 常见基本排序算法的发明时间及发明人列表:

排序算法 发现时间 英文作者 中文作者 类型
选择排序(Selection Sort) 很早 Originated from life. 理念来自于日常生活 比较
插入排序(Insertion Sort) 很早 Originated from life. 理念来自于日常生活 比较
基数排序(Radix Sort) 1887年 Herman Hollerith 赫尔曼·何乐礼 非比较
归并排序(Merge Sort) 1945年 John von Neumann 约翰·冯·诺伊曼 比较
计数排序(Counting Sort) 1954年 Harold H. Seward 哈罗德·赫尔伯特·西华德 非比较
冒泡排序(Bubble Sort) 1956年 Sir Charles Antony Richard Hoare 查尔斯·安东尼·理查德·霍尔 比较
希尔排序(Shell Sort) 1959年 Donald Shell 唐纳德·希尔 比较
快速排序(Quick Sort) 1960年 Sir Charles Antony Richard Hoare 查尔斯·安东尼·理查德·霍尔 比较
堆排序(Heap Sort) 1964年 Robert W. Floyd J. W. J. Williams 罗伯特·弗洛伊德和 J. W. J. 威廉姆斯 比较
桶排序(Bucket Sort) 1972年 Richard M. Karp 理查德·M·卡普 非比较

秋色欣赏:

秋色


2 简要说明

  1. 选择排序 (Selection Sort)

    • 背景:选择排序是一种简单直观的排序算法,起源于日常生活中挑选最大或最小值的过程。
    • 特点:每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
  2. 插入排序 (Insertion Sort)

    • 背景:插入排序类似于整理手中的扑克牌,逐个将每张牌插入到已排好序的牌中。
    • 特点:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
  3. 基数排序 (Radix Sort)

    • 背景:由赫尔曼·霍勒里思于1887年发明,用于卡片制表机的排序。
    • 特点:将整数按位数分配到桶中,依次按各个位数进行排序。
  4. 归并排序 (Merge Sort)

    • 背景:由约翰·冯·诺伊曼在1945年发明,是一种基于分治思想的排序算法。
    • 特点:将序列递归地分成两部分,对两部分分别排序,然后合并排序结果。
  5. 计数排序 (Counting Sort)

    • 背景:由哈罗德·赫尔伯特·西华德于1954年提出,适用于整数排序。
    • 特点:利用输入数据值作为索引,将元素放在正确的位置上,适用于范围较小的整数排序。
  6. 冒泡排序 (Bubble Sort)

    • 背景:由查尔斯·安东尼·理查德·霍尔发现,类似于水中的气泡逐渐上升的过程。
    • 特点:重复地遍历待排序列,每次比较相邻两个元素并交换它们的位置,使得每次遍历后最大的元素移动到最后。
  7. 希尔排序 (Shell Sort)

    • 背景:由唐纳德·希尔于1959年提出,是插入排序的一种改进版本。
    • 特点:通过将数组分成若干子序列分别进行插入排序,减少数据移动次数,逐步缩小增量,最后进行直接插入排序。
  8. 快速排序 (Quick Sort)

    • 背景:由查尔斯·安东尼·理查德·霍尔于1960年提出,是一种高效的排序算法。
    • 特点:通过分治法将数据分为两部分,递归地对每部分进行排序。
  9. 堆排序 (Heap Sort)

    • 背景:由罗伯特·弗洛伊德和J. W. J. 威廉姆斯共同于1964年提出,利用堆这种数据结构来实现排序。
    • 特点:将待排序列构造成一个大顶堆(或小顶堆),然后依次取出堆顶元素并调整堆结构,直到堆为空。
  10. 桶排序 (Bucket Sort)

    • 背景:由理查德·M·卡普于1972年提出,是一种分配排序算法。
    • 特点:将数组元素分到有限数量的桶中,每个桶内分别排序,然后依次合并桶中的元素得到有序序列。

谢谢阅读完,文章问题请留言指正

posted @ 2024-05-20 07:51  岁月信  阅读(441)  评论(0)    收藏  举报