首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

算法导论第七章题解——插入排序

2012-08-10 
算法导论第七章例题——插入排序快速排序的平均意义上的时间复杂度是nlgn,最差意义上的时间复杂度是n*n,算法

算法导论第七章例题——插入排序

快速排序的平均意义上的时间复杂度是nlgn,最差意义上的时间复杂度是n*n,算法的好坏取决于所选取的用于划分数组的元素的大小。

算法的思路是:将数组按照某个元素划分为两个部分,并单独对这两个部分数组进行就地排序,就地排序时重复利用划分的方法将数组分为更小的两部分。

本代码中为了使代码具有平均意义上的时间复杂度,添加了RandomizedPartition函数进行优化,该函数的思路是随机选取介于p和r之间的元素和

r元素互换,然后再按照a[r]进行划分数组。


热点排行