1、D)1510.冒泡排序算法和快速排序算法的时间复杂度分别是什么11.请简述数组和链表数据结构的特点及应用的场合12.下列哪些数据结构最适合医疗仪器设备中的大型数据量的插入,查找()A)数组 B)哈希表 C)红黑树/二叉平衡树 D)链表13.下列哪些排序算法的平均时间复杂度是O(nlog2n)(),哪些是稳定的排序()A)冒泡排序 B)希尔排序 C)快速排序 D)插入排序 E)堆排序14.下列哪些说法是正确的:()A)二分查找法在一个长度为1000的有序整数数组查找一个整数,比较的次数不超过100次B)在二叉树中查找元素的时间复杂度为O(log2n);C)对单向链表,可以使用冒泡排序;D)对双向
2、链表,可以使用快速排序;15.已知某二叉树的后序遍历是DFBEGCA,中序遍历的顺序是DBFACEG,其前序遍历顺序是_16.下列代码将两个有序链表结合为一个,链表中的元素的排列顺序为从小到大。请补充其中的空缺。struct node struct node *pnext; int val;struct node* splice(struct node* plhs,struct node* prsh) if(_) return prhsprhs:plhs; struct node* phead,*plast; phead = plast = prhs; plhs = plhs-pnext; e
3、lse phead = plast = plhs; prhs = prhs- while(_) if(plhs-val val) plast-pnext = plhs; plast = plhs; plhs = plhs- elsepnext = prhs; plast = prhs; prhs = prhs- plast-pnest = _; return _;17. 比较哈希表和平衡二叉树的特点,他们分别用在哪些场合.18.一个栈的入栈序列是 A,B,C,D,E 则栈的不可能的输出序列是()A) EDCBA B)DECBA C)DCEAB D)ABCDE19.在排序的方法中,关键码比较次数
4、与记录地初始排列无关的是()A) Shell B)归并排序 C)直接排序 D)选择排序 20.以下反向遍历array数组的方法有什么错误vector array;(1);(2);(3);for(vector:size_type i=()-1;i=0;-i) cout arrayi next48.设单链表中节点的结构为: typedef struct node Elemtype data; 何证明一个表是循环链表52.如果一棵二叉树节点的前序序列是 A、B、C,后序序列是C、B、A,则该二叉树节点的中序序列是什么 A) 必为ABC B) 必为ACB C) 必为BCA D) 不能确定53.什么是平
5、衡二叉树54.下面的程序是一快速排序问题,请填空。 #include #include void improveqsort(int *list,int m,int n) int k,t,i,j; /* for (i=0;10; printf(%3d,listi);*/ if(mn) i=m;j=n+1;k=listm; while(ij) for(i=i+1,i=k) break; for(j=j-1,jm,j-) if(listj if(i t=listi;listi=listj;listj=t; t=listm;listm=listj; improveqsort( );main() int
6、 list10; int n=9, m=0,i; printf(input 10 number:); for(i=0; scanf(%d,&listi);n improveqsort(list,m,n);%5d55.以下哪种排序属于稳定排序 A) 归并排序 B) 快速排序 C) 希尔排序 D) 堆排序56.用二分法查找一个长度为10的、排好序的线性表,查找不成功时,最多需要比较多少次 A) 5 B) 2 C) 4 D) 157.下面那种排序法对 1234567 最快 A) quick sort B) bubble sort C) merge sort58.解释一下什么是哈夫曼编码问题59.假设
7、执行语句Q的时间是O(1),则执行下列程序段的时间为()for(int i = 1;i = n;for(int j = i; j next=p;q-next =s;I. 在一个单链表中,若删除p所指节点的后续结点,则执行p=p-next;p-next=p-next-J. 使用链表,可随机访问链表中的任何一个元素100.调用printf函数可以分解为九个过程,请写出他们的排列顺序_.指令 出栈 C.函数参数压栈 D.收回局部变量空间 压栈F.在栈上保留局部变量 G.函数参数出栈 I.打印输出字符串102.在以下几种数据结构中,在执行数量相当的查找,删除和插入操作时,综合性能最好的数据结构是:A.
8、 双向链表 B. 分块链表 C. 穿线二叉树 D. 堆103. 广告系统为了做地理位置定向,将IPV4分割为627672个区间,并标识了地理位置信息,区间之间无重叠,用二分查找将IP地址映射到地理位置信息,请问在最坏的情况下,需要查找多少步A17 B18 C19 D20104.以入栈顺序作为输入,出栈作为输出,并以I代表入栈,O代表出栈,现将1,2,3,4顺序入栈,则栈操作序列IIIIOOOO后,输出4321;与输出1234相对应的栈操作序列为IOIOIOIO.则若想得到输出为2314,则栈操作序列应为_.无法由栈操作序列而得到的输出有_。105. 设一组初始记录关键字序列为(20,18,22
9、,16,30,19),则根据这些初始关键字序列建成的初始堆为_.106.线性有序表(a1,a2,a3,.a256)是从小到大排列的,对一个给定的值k,用二分法检索表中与K相等的元素,在查找不成功的情况下,最多需要检索_次。编程1 单链表1:编程实现一个单链表的建立。2:编程实现一个单链表的侧长。3:编程实现一个单链表的打印。4:编程实现一个单链表删除节点。5:编程实现单链表的插入。6:编程实现单链表的逆置。2 双链表编程实现双链表的建立。编程实现双链表的侧长。编程实现双链表的打印。编程实现双链表删除节点。编程实现双链表的插入。编程实现队列的入队。编程实现队列的出队。编程实现队列的侧长。编程实现
10、队列的打印。1. 一个学生的信息:姓名,学号,性别,年龄等信息,用一个链表,把这些学生信息连在一起,给出一个age,在这些链表中删除学生年龄等于age的学生信息。2. 请用C或 C+ 写出一个冒泡排序程序,要求输入10个整数,输出排序结果。3. 请用C或 C+ 写出一个shell排序程序,要求输入10个整数,输出排序结果。4. 链表struct student int m_Num; 造一个有20名学生的单向链表。按顺序每名学生的分数值为,1,2,3,5,8,13.2).求出他们的平均分。5. 请实现一个快速排序的算法。仅考虑排序的对象为整数的情况。6. 计算a的n次方是许多加密算法的基本操作,蛮力计算方法的时间复杂度是O(n),请设计一个时间复杂度小于O(n)的算法,(假设计算结果可以使用long型存储)7.给定一个数组an,我们希望构造数组bn,其中 bi = a0*a1.an-1/ai.在构造过程不允许使用除法。1.要求O(1)空间复杂度和O(n)时间复杂度。2.除遍历计数器与anbn外,不可使用新的变量(包括栈临时变量,堆空间和全局静态变量等);8.给定一
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1