若要从1000个元素中得到10个最小值元素,最好采用()方法。
第1题:
对于具有n个元素的一个数据序列,若只需得到其中第k个元素之前的部分排序,最好采用(59),使用分治(Divide and Conquer)策略的是(60)算法。
A.希尔排序
B.直接插入排序
C.快速排序
D.堆排序
第2题:
A: 快速排序
B: 堆排序
C: 归并排序
D: 基数排序和shell排序
第3题:
A.直接插入排序
B.直接选择排序
C.堆排序
D.快速排序
第4题:
给定一组长度为n的无序序列,将其存储在一维数组a[O..n-1]中。现采用如下方法找出其中的最大元素和最小元素:比较a[O]和a[n-1],若a[0]较大,则将二者的值进行交换;再比较a[1]和a[n-2],若a[1]较大,则交换二者的值;然后依次比较a[2]和a[n-3]、 a[3]和a[n-4]、…,使得每一对元素中的较小者被交换到低下标端。重复上述方法,在数组的前n/2个元素中查找最小元素,在后n/2个元素查找最大元素,从而得到整个序列的最小元素和最大元素。上述方法采用的算法设计策略是(64)。
A.动态规划法
B.贪心法
C.分治法
D.回溯法
第5题:
一个序列中有若干个元素,若只想得到其中第i个元素之前的部分排序,最好采用( )方法。 A.快排序 B.堆排序 C.插入排序 D.shell排序
第6题:
匈牙利算法进行调整时,没有被直线覆盖到的元素()。
A、减去直线覆盖元素的最小值
B、减去直线交叉处元素的最小值
C、减去没有被直线覆盖到的元素的最小值
D、加上直线交叉处元素的最小值
第7题:
阅读以下说明和流程图,回答问题将解答填入对应栏。
[说明]
本流程图实现采用递归函数来求一个整数数组中从元素0到元素n中的最小值。该算法思想是这样的,首先我们假设有一个求数组中最小元素的函数,然后,在求某一具有n的元素的数组的最小值时,只要求将前n-1的元素的最小值与第n个元素比较即可。不断地重复这一过程,直到数组中只剩下一个元素,那么它必定是最小值。
注:int min(int X,int y)为返回两数中最小数的函数。
int minInArray(int a[],int n)为返回数组中最小数的函数。
minA为数组中最小值。
[问题l]
将流程图的(1)~(4)处补充完整。
[问题2]
min()函数的定义为(5)。
第8题:
二维教组A[12][18]采用列优先的存储方法,若每个元素各占3个存储单元,且第1个元素的地址为150,则元素A[9][7]的地址为(31)。
A.429
B.432
C.435
D.438
第9题:
二维数组A[12][18]采用列优先的存储方法,若每个元素各占3个存储单元,且第1个元素的地址为150,则元素A[9][7]的地址为 ( )
A.429
B.432
C.435
D.438
第10题:
对于具有n个元素的一个数据序列,若只需要得到其中第A个元素之前的部分排序,最好采用(43)。
A.堆排序
B.希尔排序
C.快速排序
D.直接插入排序