第二章 算法基础

输入:n个数的一个序列

输出:输入序列的一个排列,满足 a1 ≤ a2 ≤ ... ≤ an。

对于插入排序,我们将其伪代码命名为Insertion-sort,其中的参数是一个数组A[1..n],包含长度为n的要排序的一个序列。(在代码中,A中元素的数目n用A.length来表示。)该算法原址排序输入的数:算法在数组A中重排这些数,在任何时候,最多只有其中的常数个数字存储在数组外面。在过程Insertion-sort结束时,输入数组A包含排序好的输出序列。

Insertion-sort(A)
   for (j = 2; j <= A.length; j++)
       key = A[j]
       // Insert A[j] into the sorted sequence A[1..j-1]
       i = j - 1
       while (i > 0 && A[i] > key)
           A[i+1] = A[i]
           i = i - 1
       A[i+1] = key
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这一章介绍贯穿全书的框架,即设计算法的大致方法过程。以插入排序和归并排序为例,介绍描述算法的方法——伪代码,证明正...
    Nautilus1阅读 3,717评论 2 1
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 10,599评论 0 52
  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 9,092评论 0 15
  • 概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的...
    Luc_阅读 6,776评论 0 35
  • 七天长假已经结束,大部分的人都选择了出行旅游,我本来回家看望父母再回老家在乡间静静的呆几天,临时有事,计划取消,去...
    公子瑜阅读 2,241评论 0 0

友情链接更多精彩内容