码迷,mamicode.com
首页 > 编程语言 > 详细

插入排序——算法导论

时间:2015-12-04 00:44:31      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

最近在看MIT的算法导论,在网易公开课上有这门课的视频,正好讲义也在图书馆借到了,有在看的小伙伴可以一起加油。

绪论中以插入排序为例,讲述了算法中非常重要的两个概念时间复杂度T(n)和空间复杂度。详细地对程序花费时间T。

伪代码:

   INSERTION-SORT(A) 

1 for j←2 to length[A]                                   
2     do  key←A[j]                                        
3          Insert A[j] into the sorted                
4               sequence A[1..j-1].                      
5          i←j-1                                                
6          while i>0 and A[i]>key
7                do A[i+1] ← A[i]
8                     i←i-1
9         A[i+1]←key

根据伪代码我实现了一下插入排序,今天开始的平时训练,开始注意格式规范,还有更专业地添加注释:

 1 #include <iostream>
 2 /*************************************************************************************************************
 3 *
 4 * Function Name  :InsertionSort
 5 * Description    :One of the famous sorting    algorithm
 6 *                    insert a number into a sorted sequence
 7 *                    the new sequence still in order
 8 * Input          :An random array
 9 * Output         :sorted array
10 * Return         :None
11 *
12 **************************************************************************************************************/
13 void InsertionSort(int* a,int n)
14 {
15     int key;
16     for(int j=1;j<n;j++)
17     {
18         key = a[j];
19         for(int i=j-1;i>=0&&a[i]>key;i--)
20         {
21             a[i+1]=a[i];                   //a[i+1]←a[i]
22             a[i]=key;
23         }
24     }
25 }
26 
27 
28 void main()
29 {
30     int a[10]={8,6,11,55,2,9,3,23,1,32};
31     printf("排序前:");
32     for(int i=0;i<10;i++)
33         printf("%d ",a[i]);
34     printf("\n");
35     InsertionSort(a,10);
36     printf("排序后:");
37     for(int i=0;i<10;i++)
38         printf("%d ",a[i]);
39     system("pause");
40 }

实验结果:

技术分享

算法比较基础,简单,只是作为自己的一个整理,大家不喜勿喷。

插入排序——算法导论

标签:

原文地址:http://www.cnblogs.com/zjuthantics/p/5017930.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!