堆排序是不是一种稳定的排序方法?为什么?
堆排序是不是一种稳定的排序方法?为什么?
堆排序不是一种稳定的排序方法。
在堆调整的过程中,关键字进行比较和交换时所走的路线是沿着根结点到叶子结点,对于相同的关键字可能存在后面的关键字先被调到前面的情况,因而堆排序是不稳定的。
若要尽可能快地完成对实数数组的排序,且要求排序是稳定的,应该选【 】。
如果待排序序列中两个数据元素具有相同的值,在排序前后它们的位置发生颠倒,则称该排序算法是不稳定的,【 】就是不稳定的排序算法。
若有n个元素已构成一个小根堆,那么如果增加一个元素Kn+1,请用文字简要说明如何在log2n的时间内将其重新调整为一个堆。
如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序序列,用【 】方法最快
回答问题并写出推导过程:对50个整数进行快速排序需进行关键字间比较次数可能达到的最大值和最小值各为多少?
在起泡(冒泡)排序过程中,有的关键字在某趟排序中可能朝着与最终排序相反的方向移动,请举例说明之。快速排序过程中有没有这种现象?
快速排序的最大递归深度是__________,最小递归深度是__________。
快速排序的速度在所有排序方法中为最快,而且所需附加的空间也最少。
若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3。当从队列中删除一个元素, 再加入两个元素后, rear和加front的值分别为多少?
对于一个具有n个结点的连通无向图,如果它有且只有一个简单回路,那么此图有__________条边。
如果G是一个具有n个顶点的连通无向图,那么G最多有__________条边,最少有__________条边。
对于二叉树T 的两个结点 n1 和 n2 ,我们应该选择树 T 结点的前序、中序和后序中哪两个序列来判断结点 n1 必定是结点 n2的祖先,并给出判断的方法。不需证明判断方法的正确性。
下述排序算法中,所需辅助存储量最多的是__________,所需辅助存储量最少的是__________,平均速度最快的是__________。A. 快速排序 B. 归并排序 C. 堆排序
初始序列为1 8 6 2 5 4 7 3一组数采用堆排序,当建堆(小根堆)完毕时,堆所对应的二叉树中序遍历序列为【 】。
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为__________。
下列排序算法中,不稳定的是【 】。Ⅰ. 希尔排序Ⅱ. 归并排序Ⅲ. 快速排序Ⅳ. 堆排序Ⅴ. 基数排序
使用快速排序算法对数据进行升序排序, 若经过一次划分后得到的数据序列是 68, 11, 70, 23, 80, 77, 48, 81, 93, 88,则该次划分的轴枢【】。