1473: 算法基础(查找与排序)

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:118 Solved:17

Description

1. 某数列有1026个各不相同的单元,由低至高按序排列;要对该数列作二分查找(binary search),在最坏的情況下,需检查( )个单元。

 A.10              B.11              C.100             D.1000 


 2.对有18个元素的有序表作二分查找,则查找A[3]的比较序列的下标为( )

 A.1,2,3        B.9,5,2,3       C.9,5,3       D.9,4,2,3 


3. 若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是( )。 

 A. 快速排序       B. 冒泡排序       C. 归并排序       D. 直接插入排序 


4.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为下列所示: 

   (1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47 (4)15 21 25 47 84 则采用的排序是 ( )。 

 A. 选择       B. 冒泡       C. 快速       D. 插入 


5.一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为( )。

 A.(384046567984)     B. (403846795684)     C.(403846567984)     D. (403846845679) 


6. 己知哈希表长m=11 哈希函数H(key)=key%11 表中已有4个结点: add(24)=2; addr(47)=3;addr(26)=4; addr(60)=5; 其余地址为空。如果采用二次探测再散列处理冲突关键字为69的结点的地址是( )。

 A. 1      B. 8       C. 6       D.7

Sample Input Copy

依以下样例程序,在cout后跟你选择的
#include<bits/stdc++.h>
using namespace std;
int main()
{   
     int n=0;    
    cin>>n;
    switch(n)
    {
    	case 1: cout<<"A"<<endl; break;
    	case 2: cout<<"B"<<endl; break;
	    case 3: cout<<"C"<<endl; break;
        case 4: cout<<"D"<<endl; break;
    	case 5: cout<<"A"<<endl; break;
        case 6: cout<<"B"<<endl; break;
    }	
    return 0;         
}

Sample Output Copy