摘要: 随机化快速排序:当一组数据近乎有序的时候,使用之前的快速排序的方法,每次都会选择最左侧的值作为标定值,将数据分为三部分,但是数据是近乎有序的数据,此时每次进行排序就不会将数据分为两部分,此时logN的时间复杂度讲上升为n^2的时间复杂度。 避免产生这种情况:在选用标定值之前,先使用随机数的方法。 s 阅读全文
posted @ 2018-03-26 23:11 boht 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 1:先选定一个特定的数v,将一组数分为三个部分。需要三个下标来表示。l:作为左值,j:标定值,i:作为右值。arr[l+1..j]<v,v,arr[j+1..i-1]>v 2:接着判断i+1后面的部分属于哪一部分。若arr[i+1]>v,不动,直接将该数放在此处就好。 若arr[i+1]<v,则需要 阅读全文
posted @ 2018-03-26 22:59 boht 阅读(99) 评论(0) 推荐(0) 编辑