题目内容
(请给出正确答案)
[主观题]
a)仿照教材81页代码3.20,试针对向量结构实现选择排序算法Vector::selectionSort();b)你实现的选择排序算法是稳定的吗?为什么?
查看答案
如果结果不匹配,请 联系老师 获取答案
教材81页代码3.20中的List::selectionSort()算法,通过selectMax()在前缀子序列中定位的最大元素max,有可能恰好就是tail的前驱——自然,此时“二者”无需交换。针对这一“问题”,你可能会考虑做些“优化”,以期避免上述不必要的交换,比如将
a)以序列(1980,1981,1982,...,2011,2012;0,1,2,...,1978,1979)为例,这种情况共发生多少次?
b)试证明,在各元素等概率独立分布的情况下,这种情况发生的概率仅为1nn/n→0——也就是说,就渐进意义而言,上述“优化”得不偿失。
考查采用DFS算法(教材162页代码6.4)遍历而生成的DFS树,试证明:
a)顶点v是u的祖先,当且仅当
b)v与u无承袭关系,当且仅当