朋友问到的考研试题,请各位帮帮忙!谢谢
中山大学
二00三年攻读硕士研究生入学考试试题
15.稳定的排序算法是()。
A.插入排序 B. 选择排序
C.堆排序 D. 快速排序
感觉在这里AB都对啊,可又是单选题,A直接插入排序的时间复杂度为O(n2),是一个稳定的排序方法。
选择排序也是一种稳定的排序. D是冒泡排序的改进,C是选择排序的改进.
3.(5分)在数组A[0..n-1]中存放有n个不同的整数,其值均在1到n之间。写出一个函数或过程,将A中的n个数从大到小排序后存入B[0..n-1]数组中。要求算法的时间复杂度为o(n)。
快速排序是通常被认为在同数量级(O(nlog2n))的排序方法中平均性能最好的。
觉得没有哪个排序算法的时间复杂度可以达到O(n),
好象对于整数的排序可能用基数排序,又叫桶排序,可它的时间复杂度为o(2mn)。
其中m为整数的位数,如2451,此时m=4,
但是对于不确定的整数,我们无法指定m的值
请这里的朋友解答一下,不是为别的,只是有朋友上次问题到过.
也算法是提高一下吧!谢谢!
还有下面一个也有点模糊.
2.(10分)一个二叉树以二叉链表存储。写一函数或过程打印该树,要求打印格式为(key0,ltree,rtree),其中key是根节点的数据值,ltree和rtree分别是相同格式的左右子树。叶子节点打印为(key)。
这里应该就是前序遍历吧?怎么看起来这么别扭啊?