- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构Data Structure;第10章 排序;Sorting Problem;Sort Any Type of Data;引言;第10章 排序;插入排序;几种常见的插入排序;直接插入排序;34;直接插入排序算法;时间复杂度分析;几种常见的插入排序;折半插入排序;A Lower Bound for Simple Sorting Algorithms;【Theorem】The average number of inversions in an array of N distinct numbers is N ( N ? 1 ) / 4.;几种常见的插入排序;希尔排序(Donald Shell,1959);希尔排序算法思想;81;visual trace;希尔排序算法;Intuition: An hk-sorted file that is then hk?1-sorted remains hk-sorted.
(一个hk-有序的数组经过hk?1-排序后仍然是hk-有序的);? Which increment sequence to use?;【Theorem】The worst-case running time of Shellsort, using Shell’s increments, is ? ( N2 ).;? Hibbard’s Increment Sequence:;? 3x+1 Increment Sequence:;? Sedgewick’s Increment Sequence:;Why are we interested in shellsort?;第10章 排序;算法思想:首先,从n个元素中选出关键字最小的元素。再从剩下的(n-1)个元素中选出关键字最小的元素,依次类推,每次从剩下的元素序列中挑出关键字最小的元素,直至序列中最后只剩下一个元素为止。这样,把每次得到的元素排成一个序列,就得到了按非递减序排列的排序序列。
常用方法:
直接选择排序
堆排序
;直接选择排序;6;template class T
void simpleSelectSort(T a[], int size)
{int i, j, k; //k记录选择过程中最小元素的位置
T tmp;
for (i = 0; i size -1; ++i)
{
k = i;
for (j = i+1; j size; ++j)
if (a[j] a[k]) k = j;
tmp = a[i]; a[i] = a[k]; a[k] = tmp;
}
} ;堆排序;解决方案;例如,要排序39, 36, 58, 23, 44, 97, 31, 14, 26和77,先将这些元素创建一个堆 ;执行一次deQueue;再执行一次deQueue;堆排序的实现;堆排序程序;percolateDown函数的实现;【Theorem】The average number of comparisons used to heapsort a random permutation of N distinct items is (对N个互异项的随机排列进行堆排序,所用的平均比较次数为):
2N log N = O( N log N ) .;第10章 排序;交换排序;冒泡排序;6;冒泡排序法的实现;冒泡排序的时间性能;Quicksort honored as one of top 10 algorithms of 20th century in science and engineering.;在待排序的序列中选择一个数据元素,以该元素为标准, 将所有数据元素分为两组,???一组的元素均小于或等于标准元素,第二组的数据元素均大于标准元素。第一组的元素放在数组的前面部分,第二组的数据元素放在数组的后面部分,标准元素放在中间。这个位置就是标准元素的最终位置。这称为一趟划分。然后对分成的两组数据重复上述过程,直到所有的元素都在适当的位置为止。
基本的快速排序算法是递归的。具体包括
选择标准元素
如何划分;选择标准元素;如何划分;;快速排序的递归实现;divide函数的实现;快速排序的包裹函数;快速排序的性能分析;最坏情况分析;最好情况分析;平均情况;NT(N) = 2(T(0) + T(1) + T(2) +…+ T(N-1)) + cN2
然后对N-1的情况套用等式 ,得
(N-1)T(N-1) = 2(T(0)+T(1)+T(2)+ … +T(N-2)) + c(N-1)2
两式相减,得
NT(N) – (N-1)T(N-1) = 2T(N-1) + 2cN
您可能关注的文档
最近下载
- 求阴影面积的常用方法.pdf VIP
- 2024年广东省深圳市盐田区梅沙街道招聘社区工作者真题含答案详解.docx VIP
- 英、美、中三国会计师事务所组织形式演变研究.pdf VIP
- 工会经费管理与内部审计问题分析及改进建议.docx VIP
- 电气管理课件.pptx VIP
- 2025中国现代文学史自考真题及答案 .pdf VIP
- 2025努力锻造忠诚干净担当的新时代政法铁军党课PPT课件.pptx VIP
- 富士达电梯MLVF-T无机房(CP40)电气原理图.pdf VIP
- 国家建筑标准设计图集-12S101 矩形给水箱.pdf VIP
- Pico Pico Neo 3 VR头盔 Pico Neo 3 0207 用户手册.pdf
文档评论(0)