习题选讲 Insert or Merge
2020-03-16 73浏览
- 1.第十二讲 习题选讲 浙江大学 陈 越
- 2.09-2. Insert or Merge
- 3.题意理解 如何区分简单插入和非递归的归并排序 SampleInput:10 3 1 2 8 7 5 9 4 6 0 1 2 3 7 8 5 9 4 6 0 10 3 1 2 8 7 5 9 4 0 6 1 3 2 8 5 7 4 9 0 6 插入排序:前面有序,后 面没变化 归并排序:分段有序
- 4.捏软柿子算法 判断是否插入排序 从左向右扫描,直到发现顺序不对,跳出循环 从跳出地点继续向右扫描,与原始序列比对,发现 不同则判断为“非” 循环自然结束,则判断为“是”,返回跳出地点 如果是插入排序,则从跳出地点开始进行一趟 插入
- 5.判断归并段的长度 从头开始连续有序的子列长度? 2 1 8 9 6 5 3 4 1 2 8 9 5 6 3 4 所有连续有序子列的最短长度? 4 2 1 3 13 14 12 11 8 9 7 6 10 5 1 2 3 4 11 12 13 14 6 7 8 9 5 10 for ( l=2; l<=N; l*=2 )
- 6.其它测试数据 最小N(应该是多大?) 插入排序第1步,什么都没改变 归并排序第1步,什么都变了 尾部子列无变化,但是前面变了(归并) 最大N