华中科技大学887数据结构与算法分析考研真题试题(回忆版)2011—2019年
最新华中科技大学计算机学院数据结构(计算机专业)试题

《数据结构》试卷 (A 卷)2010 —2011 年度第二学期计算机学院 班级______ 学号___________ 姓名_________考试时间:2011年 月 日 考试形式:闭卷一、单项选择题(从下列各题四个备选答案中选出一个正确答案,将其代号(A,B,C,D)写在下表中,每小题1分,共10分) 1.对于栈的进栈和出栈运算,采用______存储结构时运算效率最高。
A .单链表B .容量足够大的顺序表C .单向循环链表D .双向循环链表2.链式队列和顺序队列比较,具有_____这个优势。
A .进队操作方便B .出队操作方便C .通常不会出现满队列情况D .求队列元素个数方便 3.下列关于串的叙述中,正确的是_____。
A .2个串的长度相等,则2个串相等B .空串至少包一个空格C .替换操作可以实现字符的删除D .一个串的长度至少是1 4.二叉树在线索化后,下列问题中相对难解决的是____。
A .先根线索二叉树中求先根后继B .中根线索二叉树中求中根前趋C .中根线索二叉树中求中根后继D .后根线索二叉树中求后根后继5.对序列(30,26,18,16,5,66)进行2遍 ________排序后得到序列(5,16,18,26,30,66)。
A .选择B .冒泡C .插入D .归并6.在下列排序算法中,_______算法可能出现如下情况:在最后一趟排序之前,所有元素均不在其最终的位置上。
A .堆排序B .快速排序C .冒泡排序D .插入排序 7.由4个结点可以组成______棵不同形态的二叉树。
A .10B .12C .14D .168.对包含n 个元素的散列表进行检索,平均查找长度为____。
A .O(logn) B .O(n) C .O(nlogn) D .不直接依赖于n 9.广义表 ((a,(b),c),((),(d)),(((((e)),f))),())的长度是____。
A .2B .3C .4D .510.对某无向图进行一次深度优先搜索遍历,如果能访问到所有的顶点,则该无向图一定是________。
精编版-2011一2020年湖北华中科技大学城市规划原理考研真题

2011一2020年湖北华中科技大学城市规划原理考研真题2011年湖北华中科技大学城市规划原理考研真题一、名词解释1、土地利用总体规划2、城市用地适用性评价3、土地使用兼容性4、公共交通导向型发展模式二、简述题1、简述城市总体规划的强制性内容2、简述英国大伦敦规划的设计要点3、编制城市建设用地平衡表4、简述控规的指标体系,并指出核心指标5、简述我国城市规划编制体系的构成及城市规划实施的内容6、简述我国住区规划的特征及建议三、论述题区域协调和城乡统筹的背景及涉及的领域、内容四、分析题同心圆理论、扇形理论和多核心理论2013年湖北华中科技大学城市规划原理考研真题一、名词解释1、邻里单位2、郊区化3、土地兼容性4、城市紫线5、生命线工程系统二、简答题1、“紧缩城市”理论产生背景及其理论要点2、为什么说城市规划具有公共政策属性?规划编制中如何体现城市规划的公共政策属性?3、城市用地构成:用地分类及代号,用地平衡表的制作【按照《城市用地分类与规划建设用地标准GB50137-2011》进行制作】4、列出控制性详细规划中控制性指标一览表,其中哪些是核心指标?5、控规中影响容积率高低的因素有哪些?6、城市建设用地规划管理的主要内容三、论述题试述我国现阶段城镇化的特征及其趋势,并阐述中国未来城镇化发展的建议2020年湖北华中科技大学城市规划原理考研真题一、名词解释1.城市规划3S技术2.基尼指数3.矢量数据4.交通等时线5.城市空间失配二、简答题1.城市道路网布局模式及特点。
2.城市水源地选址要点。
3.国土空间规划体系构成。
4.城乡邮政局所布局要点。
5.双评价的内容,简述Aregis对适宜性评价的主要流程。
6.核心边缘理论的主要内容。
7.城市规划公众参与的方法。
8.城市生态系统的构成要素与基本特征。
9.城市生态系统的敏感性分析方法。
10.大城市地域空间演变规律。
三、论述题1.乡村振兴的二十字方针?结合实例谈谈乡村振兴的方针之间的逻辑关系?2.城市土地使用与综合交通系统的互相关联?3.城市发展与创新经济的发展态势分析。
2015年数据结构真题回忆版

2015年华中科技大学887数据结构与算法分析真题(回忆版)一.名词解释1.1(二叉树结点的)平衡因子1.2有向完全图1.3空间复杂度1.4(图的)广度优先搜索1.5二叉搜索树二.选择题2.1函数形式是⎪⎩⎪⎨⎧-=+-<=其他如果如果,)),1((12%,1)2(00)(n A A n n A n n A ,那么函数的时间复杂度是__________。
)(.A n O )log (.B n n O )(.C 2n O 记不清了.D2.2以下排序方法中时间复杂度比较稳定的是_______。
冒泡排序.A 选择排序.B 记不清了.C 归并排序.D2.3后续表达式求值。
2.4在长度为n 的数组中进行查找,成功查找的时间复杂度是________。
2.A n 21.B -n 21.C +n2.5题目给出的时间复杂度形式类似23log )(n n n n n n O ++=,则时间复杂度为_______。
三.大题3.1给出二叉树的中序遍历和后序遍历,试画出二叉树。
3.2给出九个数,用这九个数构成一颗哈夫曼树,并给出每一个数的哈夫曼编码。
3.3给出八个数,运用数组将这八个数构造成一个小根堆,并写出构造过程。
3.4有向图中共有0V 到6V 七个节点,运用Dijkstra 算法求出从0V 到其余点的最短路径,并写出过程。
3.5假设数组][a 中的元素增序排列并且每个元素的值均不相同,试设计算法确定是否存点点i 使得i i a =][,并给出算法的时间复杂度。
四.算法设计4.1运用函数)*(__int root BTNode leaves of number 设计算法计算二叉树中叶子结点的个数。
4.2在一个数组中如果j i <并且][][j A i A >,则称i 和j 为一对逆序对,请设计算法计算数组][n A 中的逆序对数,要求算法的时间复杂度为)log (n n O 。
最新华中科技大学计算机学院数据结构(计算机专业)试题

《数据结构》试卷 (A 卷)2010 —2011 年度第二学期计算机学院 班级______ 学号___________ 姓名_________考试时间:2011年 月 日 考试形式:闭卷一、单项选择题(从下列各题四个备选答案中选出一个正确答案,将其代号(A,B,C,D)写在下表中,每小题1分,共10分) 1.对于栈的进栈和出栈运算,采用______存储结构时运算效率最高。
A .单链表B .容量足够大的顺序表C .单向循环链表D .双向循环链表2.链式队列和顺序队列比较,具有_____这个优势。
A .进队操作方便B .出队操作方便C .通常不会出现满队列情况D .求队列元素个数方便 3.下列关于串的叙述中,正确的是_____。
A .2个串的长度相等,则2个串相等B .空串至少包一个空格C .替换操作可以实现字符的删除D .一个串的长度至少是1 4.二叉树在线索化后,下列问题中相对难解决的是____。
A .先根线索二叉树中求先根后继B .中根线索二叉树中求中根前趋C .中根线索二叉树中求中根后继D .后根线索二叉树中求后根后继5.对序列(30,26,18,16,5,66)进行2遍 ________排序后得到序列(5,16,18,26,30,66)。
A .选择B .冒泡C .插入D .归并6.在下列排序算法中,_______算法可能出现如下情况:在最后一趟排序之前,所有元素均不在其最终的位置上。
A .堆排序B .快速排序C .冒泡排序D .插入排序 7.由4个结点可以组成______棵不同形态的二叉树。
A .10B .12C .14D .168.对包含n 个元素的散列表进行检索,平均查找长度为____。
A .O(logn) B .O(n) C .O(nlogn) D .不直接依赖于n 9.广义表 ((a,(b),c),((),(d)),(((((e)),f))),())的长度是____。
A .2B .3C .4D .510.对某无向图进行一次深度优先搜索遍历,如果能访问到所有的顶点,则该无向图一定是________。
06华中科技大学招收硕士研究生数据结构与算法分析考试试题答案

华中科技大学招收硕士研究生入学考试试题二OO六年数据结构与算法分析试题答案 (2)二OO七年数据结构与算法分析试题答案 (6)二O一一年数据结构与算法分析试题答案 (10)二O一二年数据结构与算法分析试题答案 (14)二OO六年数据结构与算法分析试题答案术语解释:(略)选择题:1~5:CDCCC简答题:12第一趟:6 8 5 7 2 4 1 3第二趟:5 6 7 8 1 2 3 4第三趟:1 2 3 4 5 6 7 834//用邻接表G 存储图的顶点信息 InitQueue(); //初始化队列为空EnQueue(elem); //将元素elem 入队DeQueue(elem); //将队头元素退队并赋值给elem isEmpty(); //判断队列是否为空 GetTotalID(i); //获取第i 个顶点的入度并存于ID 数组中 ID[vexnum]; //用于存储各顶点的入度,vexnum 为顶点数InitQueue();For(int i=0;i!=vexnum;++i) GetTotalID(i); //依次获取每个顶点的入度 For(int i=0;i!=vexnum;++i) { If(ID[i]==0) EnQueue(i); //将入度为0 的顶点入队For(int i=fristadj;i!=adjnum;++i)ID[i]-=1; //将该顶点的邻接点的入度数减1}While(!isEmpty()){DeQueue(elem); //将队列中各顶点依次退队并赋值给elemPrintf(elem); //输入拓扑排序序列}5A:11 B:01010 C:0111 D:00 E:011111 F:10 G:0100 H:0101应用及编程题1unsigned int isBallanced(char* string){char brace;for(ihnt i=0;i!=strlen(string);++i){if(string[i]=='{'||string[i]=='['||string[i]=='(')push(string[i]);switch(string[i]){brace=pop();case ')':if(brace!='(')return 0;break;case ']':if(brace!='[')return 0;break;case '}':if(brace!='{')return 0;break;}if(isEmpty())return 1;elsereturn 0;}}该算法的时间复杂度为O(n),空间复杂度为O(n);2int total=0;int InOrderTraverse(bitree* t){InOrderTraverse(t->lchild);if(t->data>=x1)++total;if(t->data>x2)return total;InOrderTraverse(t->rchild);return total;}该算法为中序遍历,时间复杂度为O(n)二OO七年数据结构与算法分析试题答案术语解释:选择题:1~5:BCDBD简答题:12由邻接矩阵可得该图为:设N=2K,T(N)=T(N/2)+N即T(2K)=T(2K-1)+2K=T(2K-2)+2K-1+2K=……=T(20)+2K+2K-1+2K-2+……=2K+1-1=2*2logn-1=2n-1所以时间复杂度为O(2n-1)4void InsertSort(int* array,int num){int i=num-1,j=1;while(j!=i){array[0]=array[i];if(array[i]<array[j]){for(int v=i-1;v>=j;--v)array[v-1]=array[v];array[v]=array[0];++j;}else--i;}}第一趟:1 6 5 4 3 2 第二趟:1 2 6 5 4 3 第三趟:1 2 3 6 5 4 第四趟:1 2 3 4 6 5 第五趟:1 2 3 4 5 65H(key)=key MOD 7H(key)=(key/100+(key/10-key/100)*10)+(key-(key-(key/10)*10)) MOD 7应用编程题:1void Delete(int* A,int length){for(int i=1;i!=length;++i){for(int j=i+1;j!=length;++j){if(A[i]==A[j])for(int k=j+1;j!=length;++k)A[k-1]=A[k];}}}该算法的时间复杂度为O(n3)void Delete(int *A,int length) {int i=0,j=0;for(;i!=length;++i){if(A[j]!=A[i]){A[j+1]=A[i];++j;}}length=j;}二O一一年数据结构与算法分析试题答案术语解释:(略)选择题:1~5:ABDCC简答题:1#define Size 100int stack[Size]={0};int top1=0,top2=Size-1;void push(int top,int elem){if(top1>=top2){cout<<"Stack OverFlow!"<<endl;return ;}switch(top){case top1:stack[top]=elem;++top1;break;case top2:stack[top]=elem;++top2;break;}return ;}void pop(int top,int elem){if(top1<0||top2>=Size){cout<<"Stack OverFlow!"<<endl;return ;}switch(top){case top1:elem=stack[top];--top1;break;case top2:elem=stack[top];++top2;break;}return ;}23Func(1): 1Func(2): 1 4 1Func(3): 1 9 1Func(5): 1 4 1 25 1 4 1该算法的时间复杂度为O(n) 4A:101 B:00 C:111 D:10010 E:110 F:010 G:01111 H:100 I:0110 5深度优先遍历:V1 V2 V4 V5 V7 V8 V9 V6 V3 广度优先遍历:V1 V2 V3 V4 V5 V6 V7 V8 V9应用编程题:1int QuickSort(){int i=0,j=8;while(i<j){if(a[i]>0&&a[j]<0){int tmp=a[i];a[i]=a[j];a[j]=tmp;++i,--j;}else{if(a[i]<0)++i;if(a[j]>0)--j;}}}2int sum(bitree* t){static int total;if(t==NULL)return 0;if(t->data>0)total+=t->data;sum(t->lchild);sum(t->rchild);}二O一二年数据结构与算法分析试题答案术语解释:(略)选择题:1~5:BBADA简答题:12函数调用过程如下:3模式串的next值:0 1 1 1 1 24深度优先遍历:V1 V2 V3 V6 V4 V5 V7 5A:0010 B:1101 C:11001 D:111 E:000 F:0011 G:10 H:01 I:110000 J:11001算法题1int isSum(int *a,int n,int x){int i=0,j=n-1;while(i<j){if(a[i]+a[j]==x)return 0;if(a[i]+a[j]<x)i++;if(a[i]+a[j]>x)j--;}return -1;}该算法的时间复杂度为O(n)2int countHeight(BiTreeNode* root){if(!root->left&&!root->right)return 0;int lHeight=countHeight(root->left);int rHeight=countheight(root->rchild);return lHeight>rHeight?lHeight+1:rHeight+1; }。
2022年华中科技大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年华中科技大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是()。
A.NB.2N-1C.2ND.N-12、下列排序算法中,占用辅助空间最多的是()。
A.归并排序B.快速排序C.希尔排序D.堆排序3、算法的计算量的大小称为计算的()。
A.效率B.复杂性C.现实性D.难度4、在用邻接表表示图时,拓扑排序算法时间复杂度为()。
A.O(n)B.O(n+e)C.O(n*n)D.O(n*n*n)5、向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行()。
A.h->next=sB.s->next=hC.s->next=h;h->next=sD.s->next=h-next;h->next=s6、已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是()。
A.3,5,12,8,28,20,15,22,19B.3,5,12,19,20,15,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,15,22,197、已知字符串S为“abaabaabacacaabaabcc”,模式串t为“abaabc”,采用KMP算法进行匹配,第一次出现“失配”(s!=t)时,i=j=5,则下次开始匹配时,i和j的值分别()。
A.i=1,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=28、下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按其关键字有序()。
A.二叉排序树B.哈夫曼树C.AVL树D.堆9、一棵非空的二叉树的前序序列和后序序列正好相反,则该二叉树一定满足()。
A.其中任意一个结点均无左孩子B.其中任意一个结点均无右孩子C.其中只有一个叶结点D.其中度为2的结点最多为一个10、下列二叉排序树中查找效率最高的是()。
879专业综合(含数据结构、计算机网络)

题号:879《专业综合》考试大纲一、考试内容1.数据结构、抽象数据类型的概念;2.线性结构的相关内容。
通用线性表和特殊线性表(栈、队列、广义表等)的逻辑结构以及物理结构;线性结构上的查找、插入和删除等算法;线性结构的典型应用方法;广义表的定义,操作和典型应用;多项式的表示和实现方法。
3.树和二叉树的定义和结构特性,完全二叉树的性质;树和二叉树的存储实现方法,遍历树和二叉树的算法;树,森林和二叉树的转换;扩充二叉树和Huffman树的定义与实现,Huffman编解码及其应用;4.图的定义和两种存储结构(邻接矩阵、邻接表),图的深度优先搜索和广度优先搜索以及相关的生成树。
图的最小生成树的算法(普里姆算法和克鲁斯卡尔算法),图的最短路径算法(迪杰克斯拉算法),AOV有向无环网的拓扑排序及其AOE网络的关键路径求解算法;5.静态查找表的查找方法,平均查找长度的计算方法,二叉排序树的构造、查找以及平衡化的方法;多路平衡搜索树;哈希查找的概念;6.排序的定义和各种排序方法的思想及其特点,掌握快速排序、希尔排序、冒泡排序、归并排序、堆排序等经典排序算法,并能够进行时空复杂性和稳定性的分析;7.能够灵活运用常见的数据结构解决实际问题;8.计算机网络、网络协议、时延、吞吐量的概念,分层的体系结构,OSI和TCP/IP参考模型,数据交换技术:电路交换、报文交换与分组交换;传输复用技术;9.传输介质:双绞线、同轴电缆、光纤与无线传输介质;10.数据链路层:差错控制,多路访问链路和协议:CSMA/CD协议,CSMA/CA协议;11.局域网:局域网的概念与体系结构;以太网、无线局域网、交换网络;网桥与交换机的工作原理;12.网络层:路由算法(距离-向量路由,链路状态路由)的原理及其具体实现(RIP和OSPF),IPv4的数据包结构,IP地址及其分类,子网掩码与子网划分,CIDR, ARP协议、ICMP协议,IPv6的数据包结构和地址分类,路由器的工作原理;13.传输层:端口的概念和作用,TCP与UDP数据包的结构,TCP协议的流量控制与拥塞控制机制;14.应用层:DNS协议、HTTP协议、FTP协议、电子邮件协议;注:1-7为数据结构部分,8-14为计算机网络部分。
华中科技大学887数据结构与算法分析考研真题试题(回忆版)2016年

离,双亲结点与孩子结点之间的距离为单位距离。 2. 有两个等长升序数组 n,请用函数 void print_intersection(int a[], int b[], int n) 打印出两个
表示过程。
2. 用一次遍历的方法找到单链表的倒数第三个节点,画出图形说明计算过程。 3. 画出图的邻接矩阵,并找出所有的拓扑序列。
4. 证明快速排序算法的时间复杂度是 O(NlogN)。 5. 对于长度分别为 m 和 n 的两个升序数组,试找出两个数组所有数据的中位数,即第
(m+n)/2 小的数,试用对数复杂度来求解。
5.对数列{10,20,30,40,50}进行哈希排序,哈希函数为 H(i)=i MOD 7,已知装填因子 为 0.6,处理冲突采用线性探测再散列,在查找不成功的情况下,平均查找长度() A.16/7 B.16/9 C.17/9 D.18/9
简答题 1. 对于数组{1 8 2 3 4 5 6 7}进行堆排序,先构造小根堆,然后利用堆求降序排序数组,画图
} 求该函数执行的时间复杂度() A. O(logN) B.O(N) C.O(NlogN) D.O(N^2)
3. 下列哪个选项的执行时间与规模无关?() A. 数据的初始值 B . 问题规模 C. 计算机的主频 D 操作执行的次数
4 以下哪个出栈顺序不可能是 1 2 3 4 5 入栈的序列() A. 1 2 3 4 5 B.3 2 1 4 5 C. 3 4 5 2 1 D. 4 2 5 3 1
数组的交集。
术语解释 队列 森林 线性表的链式存储结构 图的遍历 哈希函数的同义词
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.2 (1、8、2、3、4、5、6、7) 利用数组建成一个小根堆并使用堆排序将其排序成唯一的降 序数组。要求画出所有中间过程。 3.3 12 个权值为 3、4、6、8、12、15、18、22、25、33、36、58 画出哈夫曼树并设计编码。 3.4 {15,25,36,47,58,69}表长 11。H(k)=k%11
5.一个长度为 8 的串的字串有(C ) 个。 A.8 B.9 C.37 D.256
6.一个树含有 30 个节点, 则它的最大高度为(D )。 A.5
B.4 C.6 D.30
7.某二叉树有两个节点 p 与 q, 对该树进行中序遍历时, p 在 q 的前面, 则( C)。 A.p 是 q 的祖先 B.q 是 p 的祖先 C.p 在 q 左边 D.q 在 p 左边
8.有 n 个顶点的无向连通图最少有( C)条边。 A.n+1 B.n C.n-1 D.n(n-1) /2
9.下列关于查找的说法, 错误的是(C )。 A.对含有 n(n>0) 个元素的哈希表进行查找, 最坏情况下的查找代价为 O(n) B.对于所有数据结构上的所有查找算法, 最好的查找代价为 O(1) C.在数组上进行查找, 数组中元素必须有序 D.在单链表上进行查找的最好情况下的代价为 O(1)
int fun(int n){
if(n<1)
return 0;
printf('%d, ',n);
return(1+fun(2*n/3)+fun(n/3));
}
A. 96421116
B.9642112123211
C. 5321116
D.54321
2.3 堆排序的时间复杂度( )。
A. log(n)
B.n*log(n)
一.名词解释(25 分,1 个 5 分)
1.1 堆分配存储表示 1.2 完全图 1.3 树的结点层次 1.4 拓扑排序 1.5 时间复杂度
二.选择题(25 分,1 个 5 分)
2.1 折半查找的平均时间复杂度是(B)
A. 1
B.logn
C. n
D. n
2.2 int frog{
if(n==0)
return 1;
C. n
D.n^2
2.4 一棵树的中序 DJGBEHAFIC,先序 ABDGJEHCFI,则后序是(
A.JGBHEBIFCA
B.GBDEFIHCA
C.JGDEHBIFCA
D.都不对
2.5 基数排序的时间复杂度和( )无关。
A.基数的选择
B.数组的最大元素
C.数组长度
D.数组是否排序
三.简答题(60 分)
3.有一个栈, 元素 ABCDE 依次进栈, 这 5 个元素, 出栈顺序为 CBAED, 则栈容量 至少为(B ) A.2 B.3 C.5 D.4
4.一个进行产生数据供另外一个进程处理, 两个进程间的速度可能不同步, 使用下列哪 个数据结构可以有助于解决两个进程间的同步问题?(B )。 A.栈 B.队列 C.树 D.图
2019 年华中科技大学 研究生入学考试 887 数据结构与算法分析 回忆版
一、名词解释(20 分) 时间复杂度 哈夫曼树 稳定排序 拓扑排序 链式存储结构
二、选择题(40 分) 1.算法的空间复杂度与(D ) 有关。 A.源程序长度 B.计算机内存大小 C.编译程序 D.问题规模大小
2.以下关于线性表错误的是(C )。 A.线性表元素个数有限 B.线性表可以顺序表示和链式表示 C.数组是线性表 D.可以给线性表中每个元素一个序号
用二次探测再散列处理冲突,画出散列表。 3.5 用算法设计的思想,不全部计算出来求 3 的 96 次方的第十位数值。
四.算法设计(40 分)(请使用类 C 语言编写)
4.1 求二叉树的结点个数,如果根节点为空,则返回 0。
4.2 打印出非递减数组 a 与 b 的升序并集(去除重复元素)。
2017 年华中科技大学 887 数据结构与算法分析
)。
3.1 有 3 扇关闭着的门,其中 2 扇门后面各有一只羊,另一扇门后面有一辆车。 参与者:一个游戏者和一个主持人。主持人事先知道各扇门后的物品,而游戏者不知道。 游戏目的:游戏者选择到车。 游戏过程: 1、游戏者随机选定一扇门; 2、在不打开此扇门的情况下,主持人打开另一扇有羊的门。 3、此时面对剩下 2 扇门,游戏者有一次更改上次选择的机会。 问:(画出判定树)游戏者是否应该改变上次的选择,以使选到车的概率较大?
else return (n+frog(n-1)/2);
}
上述算法时间复杂度是多少(B)
A. logn
B.n
C. nlogn
D. (n)`2
2.3 一个算法的时间复杂度与什么有关(D)
A. 存储器的大小
B. 编程语言
C. 计算机的主频
2018 年华中科技大学 887 数据结构与算法分析(回忆版)
一.名词解释(25 分)
1.1 递归函数
1.2 空间复杂度
1.3 满二叉树
1.4 装填因子
1.5 再哈希法
二.选择题(25 分)
2.1 ABCD 入栈,不可能的出栈顺序是( )。
A. ABCD
B.BACD
C. DCAB
D.DCBA
2.2 下列函数,fun(5)的结果是( )。
10.为了更好的实现快速排序算法, 待排序元素宜采用下列哪个结构存储? (B )。 A.单链表 B.数组 C.双链表 D.循环链表
三.简答题(40 分) 1、求 T(n)=2T(n/4)+n2 的时间复杂度并证明(10 分) 2、证明 n 个节点的无向联通图最少有 n-1 条边(7 分) 3、求下面程序的时间复杂度(7 分) void alg(int n) { int p=1, r=n; while(r>0) { p=p*2; r=r/2; } } 4、先序遍历和后序遍历能否确定一个二叉树,中序遍历先序遍历能否确定一颗二叉树,并 分别解释原因(6 分)
5、如何用优先队列实现先进先出队列?实现后的出队与入队操作的时间复杂度是多少? (10 分)
四.代码题(50 分) 1.在二叉树中求最小值,并分析时间复杂度。 2.实现邻接链表转化成邻接矩阵, 并分析时间复杂度。 3.有一种数据结构叫做双端队列,支持在队列两端插入删除,在大小为 n 的数组中实现双 端队列相关操作,出入队时间复杂度 O(1)。