插入排序比了几次挪了几次
同一个数组跑插入排序。 运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include <string>
给冒泡加上计数
补全 bubble_stat:数出比较次数和交换次数,用 / 拼起来输出。 (本题用 g++ -std=c++17 -O0 编译。)
两种排序的比较次数差多少
bubble_cmps 已经写好。补全 insert_cmps 的计数,然后输出两者的比较次数(冒泡在前,用 / 隔开)——同样是 O(n²),实际做的事差着不少。 (本题用 g++ -std=c++17 -O0 编译。)
归并排序的思路(C++)
归并排序的做法是【0】。
合并两个有序数组怎么合
第 1 步:左右两段各自排好了 第 2 步:13 更小:取左边 第 3 步:15 更小:取右边 第 4 步:17 更小:取左边 第 5 步:左边取完:右边剩下的照搬 13 17 15 24 i j 13 15 17 24 把两个已排好的数组
归并排序的空间代价
归并排序比冒泡、插入多花的是【0】。
合并这两段得到什么
把 13 17 和 15 24 合成一个。 运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include <s
先把合并写出来
补全 merge_two:把两个已排好的数组合成一个。一边取完之后,另一边剩下的要全部接上去。合并 13 17 和 15 24,用 / 拼起来输出。 (本题用 g++ -std=c++17 -O0 编译。)
再把拆分接上
merge_two 已经写好。补全 msort:从中间切开,两边各自递归排好,再合起来。排完用 / 拼起来输出。 (本题用 g++ -std=c++17 -O0 编译。)
归并是稳定的吗
合并时,两边相等的元素先取左边那个(写成 <=),归并排序就是稳定的。补全后按 key 排四条记录(阿岚 2、小满 1、阿泰 2、南风 1),把名字按顺序用 / 拼起来输出。 (本题用 g++ -std=c++17 -O0 编译。)