问题 问答题

已知有一关键字序列为{505,94,512,61,908,170,897,275,653,463),如果我们采用快速法对此序列进行排序(按照升序排序),请给出每一趟排序的结果。

答案

参考答案:

解析:快速排序采用分治法进行,其基本思想如下:将原问题分解成为若干个规模更小但结构和原问题相似的子问题,递归地解这些子问题,然后将这些子问题的解的组合为原问题的解,根据上述思想,我们可以得到如下快速排序的各趟结果如下: 初始:505,94,512,61,908,170,897,275,653,432 第1趟:[462,94,295,61,170]505[897,908,653,512] 第2趟:[170,94,295,61]462,505[897,908,653,512] 第3趟:[61,94]170[275]462,505[897,908,653,512] 第4趟:61[94]170[275]462,505[897,908,653,512] 第5趟:61,94,170,[275],462,505[897,908,653,512] 第6趟:61,94,170,275,462,505[897,908,653,512] 第7趟:61,94,170,275,462,505[512,653]897[908] 第8趟:61,94,170,275,462,505,512[653]897[908] 第9趟:61,94,170,275,462,505,512,653,897[908] 第10趟:61,94,170,275,462,505,512,653,897,908

填空题
单项选择题