练习题

来源:互联网 发布:timepicki.js 编辑:程序博客网 时间:2024/04/28 18:02

对大小均为n的有序表和无序表分别进行顺序查找,在等概率查找的情况下,对于查找成功,它们的平均查找长度是相同的,而对于查找失败,它们的平均查找长度是不同的()


查找失败的情况下,无序表查找需要更长,
举例:
有序:1 2 3 5 6 7 8 无序:3 2 1 5 6 7 8
当查找4时,有序表只要查到5就可以退出查找,而无序表则需全部遍历

如果在一个排序算法的执行过程中,没有一对元素被比较过两次或以上,则称该排序算法为节俭排序算法,以下算法中是节俭排序算法的有________。


插入排序的思想是对第i+1位置上的数,将其插入前i个有序数组中。插入以后形成新的有序数组,根据排序数组不会在比较的原则,该元素不可能再次比较了。
B。选择排序的思想是对当前第i个位置上的数,那么在后续数组中,选最小的与i对换。说明肯定比较过第二小和第三的数。那么在i+1位置上,上次第二小和第三小的数还需要比较一次选出最小的与i+1交换。那么至少比较了两次。
C。堆排序。堆排序分两步。初始建堆和堆重建。当最大元素与最末尾元素交换后。面临堆重建的问题。那么堆顶元素下层过程中,必然与第二小的元素比较一次。再一次堆重建,假设第二小元素被替换的时候,他们会在比较一次。
D。归并排序思路是对两个已经排好序的数组,同时向后移动。那么每个元素只会与其他数组中的元素比较一次。然后合并在一起。根据同组元素不会比较的原则的,以后两个元素不可能在比较到。

0 0