2017年北京理工大学数据结构889模拟试题

合集下载

2017年华科数据结构887真题

2017年华科数据结构887真题

2017年华科数据结构887真题XXX887数据结构与算法分析真题一.名词解释(25分,1个5分)1.1堆分配存储表示1.2完全图1.3树的结点层次1.4拓扑排序1.5时间复杂度手打二.选择题(25分,1个5分)2.1折半查找的平均时间复杂度是(B)A. 1B.lognC. nD. n2.2int frog{if(n==0)return 1;elsereturn(n+frog(n-1)/2);}上述算法时间复杂度是多少(B)A.XXX.nXXX(n)`22.3一个算法的时间复杂度与什么有关(D)A.存储器的大小B.编程语言C.计算机的主频D.循环执行的次数2.4具有20个树叶的二叉树中只有1个孩子的结点个数是11,则这个二叉树总的结点个数是多少(A)A. 50B.49C. 51D.522.5下列关于队列说话不正确的是(B)A.先进先出B.后进先出C.插入删除只能在端点D.插入删除在不同点进行三.简答题(60分)3.1{1,2,3,4,5,6,7,8}利用数组建成一个最大堆并利用堆排序将其排序成唯独的升序数组。

要求画出一切中央进程。

3.2先序为ABDFGHCE中序XXX画出该树3.3给出一个邻接矩阵画出克鲁斯卡尔算法具体过程3.413个权值为5,18,12,13,4,6,7,9,28,16,20,30,2给出哈夫曼树并设想编码3.5给出输出结果并说明函数功能。

void Print(int w){int i;if (w!=0){Print(w-1);for(i=1:i<=w;i++)printf(“%d,”,w);printf(“/n”);}}四.算法设想(40分)(编码艰巨能够写伪代码,会恰当扣分)4.1求二叉树一切具有两个后代的结点个数,假如根节点为空,则返回。

typedef struct Bintreenode{int data;struct XXX;struct XXX;。

2003-2016年北京理工大学889数据结构考研真题及答案解析 汇编

2003-2016年北京理工大学889数据结构考研真题及答案解析 汇编

2017版北京理工大学《889数据结构》全套考研资料我们是布丁考研网北理工考研团队,是在读学长。

我们亲身经历过北理工考研,录取后把自己当年考研时用过的资料重新整理,从本校的研招办拿到了最新的真题,同时新添加很多高参考价值的内部复习资料,保证资料的真实性,希望能帮助大家成功考入北理工。

此外,我们还提供学长一对一个性化辅导服务,适合二战、在职、基础或本科不好的同学,可在短时间内快速把握重点和考点。

有任何考北理工相关的疑问,也可以咨询我们,学长会提供免费的解答。

更多信息,请关注布丁考研网。

以下为本科目的资料清单(有实物图及预览,货真价实):2017年北理工《数据结构》全套资料包含:一、北京理工大学《数据结构》历年考研真题2016年北理工《数据结构》考研真题2015年北理工《数据结构》考研真题2014年北理工《数据结构》考研真题2013年北理工《数据结构》考研真题2008年北理工《数据结构》考研真题2007年北理工《数据结构》考研真题2006年北理工《数据结构》考研真题2005年北理工《数据结构》考研真题2004年北理工《数据结构》考研真题2003年北理工《数据结构》考研真题二、北京理工大学889《数据结构》考研经验总结。

注意了:北理工889数据结构是近几年开始的科目,以前都是跟其他科目综合考试,2008年之后真题为回忆版,请大家了解好了再买,这些都是纯真题,买后不能退款。

三、北理工《数据结构》期末试题10套及答案。

...四、北理工《数据结构》考研复习提纲。

五、北理工《数据结构》考研题库及答案。

六、、严蔚敏《数据结构》全套教学视频48课时。

(电子版)七、、严蔚敏《数据结构》课后习题答案。

以下为截图及预览:2007年真题2016年真题课后习题及答案课后习题及答案2期中期末试卷期中期末试卷答案。

北京理工大学《数据结构》试题及答案(B卷)

北京理工大学《数据结构》试题及答案(B卷)

一、单项选择题1.算法必须具备的三个特性是( )。

A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性2.下列数据中,( )是非线性数据结构。

A.栈B.队列C.完全二叉树D.顺序表3.算法分析的两个方面是( )。

A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性4.非空的循环单链表head的尾结点p满足( )。

A.p->next==head B.p->next==NULLC.p==NULL D.p==head5.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是( )。

A.p->next=s;s->next=p->next; B.s->next=p->next;p->next=s;C.p->next=s;p->next=s->next; D.p->next=s->next;p->next=s;6.按照二叉树的定义,具有3个结点的二叉树有( )种。

A.3 B.4C.5 D.67.在一个有向图中,所有顶点的入度之和是所有顶点的出度之和的( )倍。

A.1/2 B.1C.2 D.48.二叉排序树是( )。

A.每一分支结点的度均为2的二叉树B.中序遍历得到一升序序列的二叉树C.按从左到右顺序编号的二叉树D.每一分支结点的值均小于左子树上所有结点的值,大于右子树上所有结点的值9.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是( )。

A.1和 5 B.2和4C.4和2 D.5和110.下列说法中正确的是( )。

A.堆栈是在两端操作、先进后出的线性表B.堆栈是在一端操作、先进先出的线性表C.队列是在一端操作、先进先出的线性表D.队列是在两端操作、先进先出的线性表11.不带头结点的单链表head为空的判定条件是( )。

北京理工大学数据结构编程练习答案

北京理工大学数据结构编程练习答案

1.一元多项式相加(10分)成绩: 10 / 折扣: 0.8题目说明:编写一元多项式加法运算程序。

要求用线性链表存储一元多项式(参照课本)。

该程序有以下几个功能:1. 多项式求和输入:输入三个多项式,建立三个多项式链表Pa、Pb、Pc(提示:调用CreatePolyn(polynomial &P,int m)。

输出:显示三个输入多项式Pa、Pb、Pc、和多项式Pa+Pb、多项式Pa+Pb+Pc (提示:调用AddPolyn(polynomial &Pa, polynomial Pb), 调用PrintPolyn(polynomial P))。

0. 退出输入:根据所选功能的不同,输入格式要求如下所示(第一个数据是功能选择编号,参见测试用例):∙ 1多项式A包含的项数,以指数递增的顺序输入多项式A各项的系数(整数)、指数(整数)多项式B包含的项数,以指数递增的顺序输入多项式B各项的系数(整数)、指数(整数)多项式C包含的项数,以指数递增的顺序输入多项式C各项的系数(整数)、指数(整数)∙0 ---操作终止,退出。

输出:对应一组输入,输出一次操作的结果(参见测试用例)。

∙ 1 多项式输出格式:以指数递增的顺序输出: <系数,指数>,<系数,指数>,<系数,指数>,参见测试用例。

零多项式的输出格式为<0,0>∙0 无输出1.#include<iostream>#include<stdlib.h>using std::cin;using std::cout;using std::endl;struct date{int a;int b;struct date* pnext;};typedef struct date DATE;typedef struct date* PDATE;void output(PDATE p){int f=0;p=p->pnext;while(p!=NULL){if(p->a!=0){f=1;cout<<"<"<<p->a<<","<<p->b<<">";if(p->pnext==NULL)cout<<endl;elsecout<<",";}p=p->pnext;}if(f==0)cout<<"<0,0>"<<endl;}void add(PDATE a,PDATE b,PDATE c){PDATE p1,p2,p3;p1=a;p2=b;p3=c;if(p1!=NULL) p1=p1->pnext; //skip head if(p2!=NULL) p2=p2->pnext;while((p1!=NULL)&&(p2!=NULL)){if(p1->b>p2->b){p3->pnext=(PDATE)malloc(sizeof(DATE));p3=p3->pnext;p3->a=p2->a;p3->b=p2->b;p3->pnext=NULL;p2=p2->pnext;}else if(p1->b<p2->b){p3->pnext=(PDATE)malloc(sizeof(DATE));p3=p3->pnext;p3->a=p1->a;p3->b=p1->b;p3->pnext=NULL;p1=p1->pnext;}else{p3->pnext=(PDATE)malloc(sizeof(DATE));p3=p3->pnext;p3->a=p1->a+p2->a;p3->b=p1->b;p3->pnext=NULL;p1=p1->pnext;p2=p2->pnext;}}//end whileif(p1==NULL)p3->pnext=p2;if(p2==NULL)p3->pnext=p1;}int main(){int flag;int n;PDATE P[6]={NULL};PDATE p=NULL;for(int i=0;i<6;i++){P[i]=(PDATE)malloc(sizeof(DATE));P[i]->a=0;P[i]->b=0;P[i]->pnext=NULL;}cin>>flag;if(flag==1){for(int i=1;i<4;i++){p=P[i];cin>>n;while(n--!=0){p->pnext=(PDATE)malloc(sizeof(DATE));p=p->pnext;cin>>p->a>>p->b;p->pnext=NULL;}output(P[i]);}}add(P[1],P[2],P[4]);output(P[4]);add(P[4],P[3],P[5]);output(P[5]);}0 约瑟夫问题(10分)成绩: 10 / 折扣: 0.80 约瑟夫问题成绩10分折扣0.8(本题要求用循环链表实现)0 ,1, 2, 3题,只能选做三题.约瑟夫问题是一个经典的问题。

北理工《889数据结构》考研真题

北理工《889数据结构》考研真题

2013年北京理工大学一、选择题。

(每小题2分,共40分)1.数据结构在计算机中的表示称为______。

A.物理结构B.逻辑结构C.虚拟结构D.抽象结构2.数据结构对外的接口主要是通过______体现的。

A.数据对象B.数据关系C.基本操作D.数据元素3.设N是描述问题规模的非负整数,下面程序片段的时间复杂度是______。

x=N;while(x>0)x=x/2;A.O(log2N) B.O(N) C.O(Nlog2N) D.O(N2)4.线性链表中一个结点所占用的空间______。

A.必须连续B.部分地址必须连续C.不一定连续D.连续与否无所谓5.将长度为m的单链表接在长度为n的单链表的后面,算法的时间复杂度为______。

A.O(n) B.O(1) C.O(m) D.O(m+n)6.设顺序表长度为n,从表中删除元素的概率相等。

则在平均情况下,从表中删除一个元素需要移动的元素个数是______。

A.(n-1)/2 B.n/2 C.n(n-1)/2 D.n(n+1)/27.在单链表中,增加一个头结点的目的是______。

A.方便运算的实现B.用于标识单链表C.使单链表至少有一个结点D.用于标识起始点的位置8.写出链栈的类型定义如下:9.一个栈的输入序列为a b c d e f,则下列序列中不可能的输出序列是______。

A.b c d a f e B.f e d c b aC.f e d c a b D.e d c b f a10.若一个栈以向量V[0..n-1]存储,设栈空时,栈顶指针top为n,则下面x进栈的正确操作是______。

A.top=top+1;V[top]=x;B.V[top]=x;top=top+1;C.top=top-1;V[top]=x;D.V[top]=x;top=top-1;11.一个队列的入队序列是a b c d e f,则队列的输出序列是______。

A.a b c d e f B.f e d c b aC.f e d c a b D.e d c b f a12.下列更适合表示队列的链表结构是______。

北京理工大学-885-2016-真题回忆版

北京理工大学-885-2016-真题回忆版

2016年北理软院885部分真题(回忆版)数据结构:应用题:1. 在一个算法中需要建立多个堆栈时可以选用下列三种方案之一,试问:这三种方案之间相比较各有什么优缺点:(1)分别用多个顺序存储空间建立多个独立的堆栈(2)多个堆栈共享一个顺序存储空间(3)分别建立多个独立的链接堆栈【北航1998一、6】2. 二叉树转森林(1)二叉树的线索化(2)将二叉树转化为森林(3)写出森林的后序遍历3. 单链表删除结点、双向链表插入节点4. 平衡二叉树的建立5. 给一个关键字序列,然后建立小根堆,取走第一个数后的堆调整编程题:1. 给一个链表,分为将奇数分成一个链,将偶数分为一个链2. 用“破圈法”求解带权连通无向图的一棵最小代价生成树。

所谓“破圈法”就是“任取一圈,去掉圈上权最大的边”,反复执行这一步骤,直到没有圈为止。

请给出用“破圈法”求解给定的带权连通无向图的一棵最小代价生成树的详细算法,并用程序实现你所给出的算法。

注:圈就是回路。

C语言:各位原谅我,我真忘了版本2程序设计部分我就记得有一个选择题好像是说c语言程序的基本单位是什么A.函数B.过程C.子程序,还有一个选项忘了,我是选A的,当时觉得有的不确定,现在当然知道选什么了,就是A,哈哈。

下面五个程序题,可能叙述的有的不一样,不过都不重要了。

1.从键盘中输入三个数字,然后按从大到小的顺序输出。

(当时看到马上就下笔吧了,就是三个if语句和一个printf)。

2.从键盘输入一个大写字母,则输出一个对称的序列,如输入E,则输出AbCdEdCbA (这也不是很难就两个for循环)3.编写一个递归函数求1/2+1/4+1/8+...+1/2^n (这个题我忘了幂求解的那个库函数的名字了,所以当时自己就另外写了一个函数来求幂)4.忘了(一点印象都没了,不好意思。

不过这题不难的)5.给出一个链表的结构为struct node{int data;struct node *next;},从键盘中输入整数,以输入@表示结束,建立一个链表,最后要求从小到大输出链表的数据值。

北京理工大学(已有10试题)

北京理工大学(已有10试题)

北京理工大学信息科学技术学院自动控制理论1999——2000,2002——2008自动控制理论(非控类)2004电子技术(含模拟、数字部分)1999——2000,2002——2008模拟电子技术与数字电子技术2000——2002模拟与数字电路1999——2000,2002微机控制与应用技术2002——2008控制工程基础2003——2008物理光学2003——2004,2007——2008应用光学1999——2008,2010(2010为回忆版)波动光学2002大学物理2006——2008精密机械设计2003——2008(其中2003年称“精密机械基础”)激光原理1999——2001,2005——2008电子电路2003——2005,2007——2008电路分析基础1999——2000信号处理导论2003——2008信号与系统1996——2002半导体物理学1999——2008电磁场理论1999——2000,2002——2008微机原理及应用2004——2005电动力学2003——2004理论力学1996——2008(96——98非原版)生物化学1999——2008(注:2007年试卷共11页,缺P5-6页)生物化学(A)2005——2006,2008计算机专业基础(含计算机组织与结构、数据结构)2007计算机技术基础(含计算机组成原理、操作系统和数据结构)2003——2006计算机原理(含操作系统)1999——2002程序设计1999——2000计算机系统结构基础(含计算机组成原理、计算机网络和数据结构)2004——2005 软件理论基础(含离散数学、操作系统、数据结构)1999——2005数据结构与程序设计2004——2008微波技术基础1999——2000晶体管理原理与制造1999——2000机电工程学院电子技术(含模拟、数字部分)1999——2000,2002——2008电子技术基础2007——2008自动控制理论1999——2000,2002——2008自动控制理论(非控类)2004电磁学2005——2008量子力学2005——2008运筹学2001——2008工程力学基础2007——2008流体力学基础2006工程流体力学2005数学物理方程2002——2006数学物理方法2000材料力学1997——1999,2002——2008理论力学1996——2008(96——98非原版)电动力学2003——2004微机控制与应用技术2002——2008控制工程基础2003——2008精密机械设计2003——2008(其中2003年称“精密机械基础”)应用光学1999——2008,2010(2010为回忆版)波动光学2002微机原理及应用2004——2005有机化学1997——2008无机化学(A)2003——2007无机化学(B)2003——2005,2007——2008分析化学2003——2008分析化学(A)2006物理化学2003——2008高分子物理2005——2008高分子化学及高分子物理2003——2004安全系统工程2003——2005,2008工程热力学(不含传热学)2003——2008爆炸与安全技术2005爆炸及其作用2006爆轰理论2003——2005化学2002——2005传感与测试技术2004——2005算法语言1998微波技术基础1999——2000晶体管理原理与制造1999——2000传热学2000应用电子技术2004机械与车辆工程学院电子技术(含模拟、数字部分)1999——2000,2002——2008 电子技术基础2007——2008自动控制理论1999——2000,2002——2008自动控制理论(非控类)2004机械设计2001——2008机械设计原理2001机械制造工程基础2003——2008机械制造工艺学2002理论力学1996——2008(96——98非原版)微机控制与应用技术2002——2008应用光学1999——2008,2010(2010为回忆版)电路分析基础1999——2000模拟电子技术与数字电子技术2000——2002模拟与数字电路1999——2000,2002精密机械设计2003——2008(其中2003年称“精密机械基础”)控制工程基础2003——2008微机原理及应用2004——2005工程热力学(不含传热学)2003——2008物理化学2003——2008工程力学基础2007——2008流体力学基础2006工程流体力学2005交通运输系统工程学2005,2007——2008微波技术基础1999——2000晶体管理原理与制造1999——2000数字电路与数字信号处理2008材料科学与工程学院物理化学(A)2008高分子物理2005——2008高分子化学及高分子物理2003——2004材料科学基础2003——2007材料力学1997——1999,2002——2008普通化学2008综合化学2008有机化学1997——2008无机化学(A)2003——2007无机化学(B)2003——2005,2007——2008分析化学2003——2008分析化学(A)2006理论力学1996——2008(96——98非原版)电化学原理2003——2006微波技术基础1999——2000晶体管理原理与制造1999——2000化工与环境学院自动控制理论1999——2000,2002——2008自动控制理论(非控类)2004过程控制原理2000——2005,2007——2008化工原理2002——2008有机化学1997——2008无机化学(A)2003——2007无机化学(B)2003——2005,2007——2008分析化学2003——2008分析化学(A)2006物理化学2003——2008电化学原理2003——2006环境微生物学2007——2008工程热力学(不含传热学)2003——2008微波技术基础1999——2000晶体管理原理与制造1999——2000生命科学与技术学院生物化学1999——2008(注:2007年试卷共11页,缺P5-6页)生物化学(A)2005——2006,2008分析化学2003——2008分析化学(A)2006细胞生物学2004——2006微生物学2005——2008分子生物学2007——2008有机化学1997——2008无机化学(A)2003——2007无机化学(B)2003——2005,2007——2008药理学2007信号处理导论2003——2008信号与系统1996——2002电子电路2003——2005,2007——2008物理光学2003——2004,2007——2008应用光学1999——2008,2010(2010为回忆版)波动光学2002信号理论基础2007——2008计算机专业基础(含计算机组织与结构、数据结构)2007计算机技术基础((含计算机组成原理、操作系统和数据结构)2003——2006计算机原理(含操作系统)1999——2002程序设计1999——2000计算机系统结构基础(含计算机组成原理、计算机网络和数据结构)2004——2005 软件理论基础(含离散数学、操作系统、数据结构)1999——2005数据结构与程序设计2004——2008理学院电子技术(含模拟、数字部分)1999——2000,2002——2008大学物理2006——2008数学分析1995,1999——2000,2003——2008高等代数2003——2008电磁学2005——2008量子力学2005——2008电动力学2003——2004普通化学2008综合化学2008无机化学(A)2003——2007无机化学(B)2003——2005,2007——2008分析化学2003——2008分析化学(A)2006物理化学(A)2008物理化学2003——2008有机化学1997——2008理论力学1996——2008(96——98非原版)材料力学1997——1999,2002——2008工程热力学(不含传热学)2003——2008数学物理方程2002——2006数学物理方法2000电路分析基础1999——2000模拟电子技术与数字电子技术2000——2002模拟与数字电路1999——2000,2002激光原理1999——2001,2005——2008微机控制与应用技术2002——2008爆炸与安全技术2005爆炸及其作用2006电化学原理2003——2006工程力学基础2007——2008流体力学基础2006工程流体力学2005微波技术基础1999——2000晶体管理原理与制造1999——2000管理与经济学院宏微观经济学2008管理学2003——2008(2003,2004名称叫做“管理学基础”。

17秋北理工《数据结构与算法》在线作业

17秋北理工《数据结构与算法》在线作业
1.??二分查找(又称折半查找)要求查找表中的记录按关键字()。
A.有序
B.无序
C.既可有序也可无序
正确答案:A??????满分:2.5??分
2.??如果想在4092个数据中只需要选择其中最小的5个,采用()方法最好。
A.冒泡排序
B.堆排序
C.锦标赛排序
D.快速排序
正确答案:B??????满分:2.5??分
正确答案:A??????满分:2.5??分
8.??顺序查找适合于存储结构为()的查找表。
A.压缩存储
B.散列存储
C.索引存储
D.顺序存储或链式存储
正确答案:D??????满分:2.5??分
9.??从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为()排序法。
D. 15
正确答案:B??????满分:2.5??分
22.??n个顶点的连通图至少有()条边。
A. n-1
B. n
C. n+1
D. 0
正确答案:A??????满分:2.5??分
23.??稀疏矩阵一般的压缩存储方法有两种,即()。
A.二维数组和三维数组
B.三元组表和散列表
C.三元组表和十字链表
D.散列表和十字链表
A. n/2
B. n
C. (n+1)/2
D. n+1
正确答案:B??????满分:2.5??分
16.??下列说法正确的是()
A.堆栈是在两端操作、先进后出的线性表
B.堆栈是在一端操作、先进后出的线性表
C.队列是在一端操作、先进先出的线性表
D.队列是在两端操作、后进先出的线性表

2019年北京理工大学889考研真题回忆版

2019年北京理工大学889考研真题回忆版

2019年硕士研究生入学考试初试试题
北京理工大学
2019 年硕士研究生入学考试初试试题(真题回忆)
科目代码: 889 科目名称:计算机技术专业基础满分: 150 分注意: ①认真阅读答题纸上的注意事项;②所有答案必须写在答题纸上,写在本试题纸或草稿纸上均无效;
③本试题纸须随答题纸一起装入试题袋中交回!
一、选择 40 分
都是非常基础的题目,但是考的面比较广
今年尤其考到了外部排序的选择题,我是瞎蒙的根本没复习外部排序
二、填空题 40 分
1、ADT 中的 DSP 分别指什么:
2、判断循环双链表为空的条件:
3、给一个广义表求长度,还有如何将一个原子从广义表中摘除
4、知先序遍历 ABC 和中序遍历 ACB 求后序遍历:
5、给一个堆,且是大根堆,在堆中插入 50,求调整后大根堆的层次遍历:
6、基数排序是根据_____位优先的排序;
7、给一个有序数组求用二分查找数组中没有的数所需要的比较次数:
8、在一棵树中查找从根节点到树中任意一个结点的路径所需要的时间复杂度:
9、剩下的等想起来再加
三、简答题 40 分
1、已知 1、
2、
3、
4、5 通过任意组合构成一颗二叉排序树:
(1)写出高度最高的 4 颗二叉排序树;
(2)写出高度最低的 4 棵二叉排序树;
2、已知一个函数。

北理工《数据结构与算法》在线作业

北理工《数据结构与算法》在线作业

北理工《数据结构与算法》在线作业试卷总分:100 测试时间:-- 试卷得分:99.5一、单选题(共40 道试题,共99.5 分。

)得分:99.51. 图的存储结构不包括()A. 数组表示B. 邻接表C. 邻接多重表D. 孩子兄弟表示正确答案:D 满分:2.5 分得分:2.52. 当两个元素比较出现反序时就相互交换位置的排序方法称为()。

A. 归并排序B. 选择排序C. 交换排序D. 插入排序正确答案:C 满分:2.5 分得分:2.53. 快速排序属于那种排序类型()。

A. 选择排序B. 插入排序C. 交换排序D. 基数排序正确答案:C 满分:2.5 分得分:2.54. 中序遍历一棵二叉排序树所得到的结点序列是键值的()序列。

A. 递增或递减B. 递减C. 递增D. 无序正确答案:C 满分:2.5 分得分:2.55. 关键路径是指AOE(Activity On Edge)网中()。

A. 最长的回路B. 最短的回路C. 从源点到汇点(结束顶点)的最长路径D. 从源点到汇点(结束顶点)的最短路径正确答案:C 满分:2.5 分得分:2.56. 设有一个二维数A[m][n],以行序为主序存储。

假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,则A[4][5]在()位置,(10)表明用10进数表示。

A. 692(10)B. 626(10)C. 709(10)D. 724(10)正确答案:C 满分:2.5 分得分:2.57. 当待排序列基本有序时,下列排序方法中()最好。

A. 直接插入排序B. 快速排序C. 堆排序。

北京理工大学-885-2017-真题回忆版

北京理工大学-885-2017-真题回忆版

2017北理工885软件工程考研回忆版
c语言程序填空
1累加之后能否被整除这个非常简单
2输出9*9乘法表这个也简单
3删除重复字符串的
4是一个关于形参实参区别的程序填空,一定要把这两个区别分清楚
c语言编程
1 让输入10个整数然后求出平均值之后与10个整数比较然后输出最接近平均数的整数
2 让求2001-2016中的素数
3 1+2+4+7+11+16 求n项之和
4递归方法输入n求2n!的
5建立一个双向循环链表,可以输入若干个整数,然后让你正向输出,逆向输出
数据结构
1栈1栈2共享一个数组然后栈空栈满条件1800原题
2 n个节点高度最高时有多少叶子节点,多少分支节点,高度最低时同前者
3 关于AOE的一道题目1800原题
4回答概念的一道题目
(1)平均查找长度
(2)顺序查找原理
(3)哈希表的原理与其他查找的区别
(4)一个好的哈希表的主要要求是什么
5(1)给一串数建立堆排序的初始堆
(2)对其进行归并排序
(3)堆的空间复杂度为多少
(4)堆排序与归并排序哪个更加稳定
(5)两个排序最差情况的时间复杂度
算法设计
1建立一个单链表然后从中找出最小的值然后删除这个节点
2用映射法对二叉树的左右子树交换。

北京理工大学数据结构编程练习答案

北京理工大学数据结构编程练习答案

1.一元多项式相加(10分)成绩: 10 / 折扣: 0.8题目说明:编写一元多项式加法运算程序。

要求用线性链表存储一元多项式(参照课本)。

该程序有以下几个功能:1. 多项式求和输入:输入三个多项式,建立三个多项式链表Pa、Pb、Pc(提示:调用CreatePolyn(polynomial &P,int m)。

输出:显示三个输入多项式Pa、Pb、Pc、和多项式Pa+Pb、多项式Pa+Pb+Pc (提示:调用AddPolyn(polynomial &Pa, polynomial Pb), 调用PrintPolyn(polynomial P))。

0. 退出输入:根据所选功能的不同,输入格式要求如下所示(第一个数据是功能选择编号,参见测试用例):∙ 1多项式A包含的项数,以指数递增的顺序输入多项式A各项的系数(整数)、指数(整数)多项式B包含的项数,以指数递增的顺序输入多项式B各项的系数(整数)、指数(整数)多项式C包含的项数,以指数递增的顺序输入多项式C各项的系数(整数)、指数(整数)∙0 ---操作终止,退出。

输出:对应一组输入,输出一次操作的结果(参见测试用例)。

∙ 1 多项式输出格式:以指数递增的顺序输出: <系数,指数>,<系数,指数>,<系数,指数>,参见测试用例。

零多项式的输出格式为<0,0>∙0 无输出1.#include<iostream>#include<stdlib.h>using std::cin;using std::cout;using std::endl;struct date{int a;int b;struct date* pnext;};typedef struct date DATE;typedef struct date* PDATE;void output(PDATE p){int f=0;p=p->pnext;while(p!=NULL){if(p->a!=0){f=1;cout<<"<"<<p->a<<","<<p->b<<">";if(p->pnext==NULL)cout<<endl;elsecout<<",";}p=p->pnext;}if(f==0)cout<<"<0,0>"<<endl;}void add(PDATE a,PDATE b,PDATE c){PDATE p1,p2,p3;p1=a;p2=b;p3=c;if(p1!=NULL) p1=p1->pnext; //skip head if(p2!=NULL) p2=p2->pnext;while((p1!=NULL)&&(p2!=NULL)){if(p1->b>p2->b){p3->pnext=(PDATE)malloc(sizeof(DATE));p3=p3->pnext;p3->a=p2->a;p3->b=p2->b;p3->pnext=NULL;p2=p2->pnext;}else if(p1->b<p2->b){p3->pnext=(PDATE)malloc(sizeof(DATE));p3=p3->pnext;p3->a=p1->a;p3->b=p1->b;p3->pnext=NULL;p1=p1->pnext;}else{p3->pnext=(PDATE)malloc(sizeof(DATE));p3=p3->pnext;p3->a=p1->a+p2->a;p3->b=p1->b;p3->pnext=NULL;p1=p1->pnext;p2=p2->pnext;}}//end whileif(p1==NULL)p3->pnext=p2;if(p2==NULL)p3->pnext=p1;}int main(){int flag;int n;PDATE P[6]={NULL};PDATE p=NULL;for(int i=0;i<6;i++){P[i]=(PDATE)malloc(sizeof(DATE));P[i]->a=0;P[i]->b=0;P[i]->pnext=NULL;}cin>>flag;if(flag==1){for(int i=1;i<4;i++){p=P[i];cin>>n;while(n--!=0){p->pnext=(PDATE)malloc(sizeof(DATE));p=p->pnext;cin>>p->a>>p->b;p->pnext=NULL;}output(P[i]);}}add(P[1],P[2],P[4]);output(P[4]);add(P[4],P[3],P[5]);output(P[5]);}0 约瑟夫问题(10分)成绩: 10 / 折扣: 0.80 约瑟夫问题成绩10分折扣0.8(本题要求用循环链表实现)0 ,1, 2, 3题,只能选做三题.约瑟夫问题是一个经典的问题。

北京理工大学计算机专业考研课程模拟试题

北京理工大学计算机专业考研课程模拟试题

北京理工大学计算机专业考研课程模拟试题北京理工大学计算机专业考研课程模拟试题集北京理工大学远程教育学院北京理工大学专业课程模拟试题集目录目录010020计算机网络............................................................... ..................................................................... ..........3 模拟试题一............................................................... ..................................................................... ...............3 模拟试题二............................................................... ..................................................................... ...............5 模拟试题三............................................................... ..................................................................... ...............7 模拟试题..................................................................... ...............9 模拟试题五............................................................... ..................................................................... .............11 010046数据结构与算法............................................................... ....................................................................13 模拟试题一............................................................... ..................................................................... .............13 模拟试题二............................................................... ..................................................................... .............17 模拟试题三............................................................... ..................................................................... .............21 模拟试题四............................................................... ..................................................................... .............24 模拟试题五............................................................................28 010048计算机组成原理............................................................... ....................................................................32 模拟试题一............................................................... ..................................................................... .............32 模拟试题二............................................................... ..................................................................... .............36 模拟试题三............................................................... ..................................................................... .............41 模拟试题四............................................................... ..................................................................... .............45 模拟试题五............................................................... ..................................................................... .............50 070003线性代数............................................................... .................................................................................54 模拟试题一............................................................... ..................................................................... .............54 模拟试题二............................................................... ..................................................................... .............56 模拟试题三............................................................... ..................................................................... .............58 模拟试题四............................................................... ..................................................................... .............59 模拟试题五............................................................... ..................................................................... .............61 090008中国近现代史纲要............................................................... (64)模拟试题一............................................................... ..................................................................... .............64 模拟试题..................................................................... .............67 模拟试题三............................................................... ..................................................................... .............70 模拟试题四............................................................... ..................................................................... .............74 模拟试题五............................................................... ..................................................................... .............77 070001高等数学............................................................... ..................................................................... ............81 模拟试题一A.................................................................. ..................................................................... ......81 模拟试题二A.................................................................. ..................................................................... ......83 模拟试题三A........................................................................85 模拟试题四A.................................................................. ..................................................................... ......87 模拟试题五A.................................................................. ..................................................................... ......89 1 北京理工大学专业课程模拟试题集目录模拟试题一模拟试题二模拟试题三模拟试题四模拟试题五B ................................................................. ..................................................................... . (91)B ................................................................. ..................................................................... . (93)B ................................................................. ..................................................................... . (95)B ................................................................. ..................................................................... (97)B ................................................................. ..................................................................... .......99 090006马克思主义基本原理............................................................... .. (101)模拟试题一............................................................... ..................................................................... .......... 101 模拟试题二............................................................... ..................................................................... .......... 102 模拟试题三............................................................... ..................................................................... .......... 103 2 北京理工大学专业课程模拟试题集计算机网络010020计算机网络模拟试题一一、单选题 1.下列______属于TCP/IP应用层协议TCP IP UDP ARP FTP DNS RARP ICMP2.子网/25的子网掩码是______。

2018年北京理工大学889考研真题回忆版

2018年北京理工大学889考研真题回忆版
四、算法题(3*10 分)
1、找出单链表中值最小的节点并删除;(只有有一点算法基础和熟悉链表操作,现编
都可以编写出来)
2、中序遍历非递归算法;(我是现编的,用了半个小时时间编并检查算法。但是对于之
前记过的同学没啥难度)
3、快速排序算法;(呵呵)
塔上
printf("将%d 号盘子%c---->%c\n",n,from,to); //将剩下的第 n 个盘子移动到目的塔

hanoi(n-1,denpend_on,from,to);//最后将借用塔上的 n-1 个盘子移动到目的塔上
}
}
2, 进栈顺序是 abcdefg,元素出栈后直接进入队列,已知出队序列是 bdcfeag,分析栈的变化,请按照下表格式补充完整。
一、选择题(20*2 分)
基础题;不是很难
二、填空题(20*2 分)
有一些比较奇怪的计算问题,但大多数比较基础。当然,少不了北理工 889 的超纲特色问题“广义表“和“串”,具体是问广义表的长度、
深度,两个串相等的充分必要条件(我没想出来有什么简明的表述方式)
三、简答题(4*10 分)
1, 汉诺塔递归算法如下,试分析其时间复杂度。
void hanoi(int n,char from,char denpend_on,char to)//将 n 个盘子由初始塔移动到目标塔
(利用借用塔)
{
if (n==1)
printf("将%d 号盘子%c---->%c\n",1,from,to);//直接将初塔上的盘子移动到目的地
else
{
hanoi(n-1,from,to,denpend_on);//先将初始塔的前 n-1 个盘子借助目的塔移动到借用

2020年北京理工大学889考研真题回忆版

2020年北京理工大学889考研真题回忆版

北京理工大学2020 年硕士研究生入学考试初试试题(真题回忆)科目代码:889 科目名称:计算机技术专业基础满分:150 分注意: ①认真阅读答题纸上的注意事项;②所有答案必须写在答题纸上,写在本试题纸或草稿纸上均无效;③本试题纸须随答题纸一起装入试题袋中交回!一、选择题20 个1,给你入栈顺序 123,出栈顺序 231,问你操作序列。

(push、push、pop、push、pop、pop)2,下列哪个说法错误:A 对称矩阵的存储只需要存主对角线和上三角或下三角B 对角矩阵不用存储零C 稀疏矩阵可以用三元组D 稀疏矩阵有分布规律,可以用三元组3,给了一循环队列A[0……30],rear 指向队尾元素,front 指向队头元素的前一个位置,存储了 11 个元素,当前 front 指向 25,求 rear 指针位置。

(5)4,有一个无向图,每个边值不同,问下列哪一个选项是错的。

A 生成树不一定唯一BC 很简单,不记得了。

D 两节点的最短距离一定是最小生成树上的两节点最短距离5,一个外层循环 n,内层循环 2n 的程序,问你时间复杂度。

(O(n^2))(注意不要选O(2n^2),渐进复杂度省略常数)A O(2n)B O(n)C O(2n^2)D O(n^2)6,二维矩阵的压缩方式:(答案应该是十字链表和三元组,不要选散列和邻接表)7,请选出排序算法的启动时间最少的算法,所谓启动时间就是说选出第一个元素的最终位置所花的时间。

A 归并排序B 堆排序C 插入排序D 快速排序8,下列哪个空间复杂度不是常数:A 归并排序B 堆排序C 快速排序D 置换-选择排序9,顺序表下列哪个操作平均复杂度与众不同。

A 删除元素 aB 查找元素 aC 求表长D 在第 i 个元素后插入10,给你一个图,问你哪个 dfs 序是不可能的(简单题,没啥说的)11,给你一个 [1..5, 1..5] 上三角矩阵,问你压缩成一维后(下标从零开始),在行优先的情况下,a33 的下标。

北京理工大学数据结构模拟题答案

北京理工大学数据结构模拟题答案

本资料由理硕教育整理,理硕教育是全国唯一专注于北理工考研辅导的学校,相对于其它机构理硕教育有得天独厚的优势。

丰富的理工内部资料资源与人力资源确保每个学员都受益匪浅,确保理硕教育的学员初试通过率89%以上,复试通过率接近100%,理硕教育现开设初试专业课VIP一对一,初试专业课网络小班,假期集训营,复试VIP一对一辅导,复试网络小班,考前专业课网络小班,满足学员不同的需求。

因为专一所以专业,理硕教育助您圆北理之梦。

详情请查阅理硕教育官网数据结构试卷(一)参考答案一、选择题(每题2分,共20分)1.A2.D3.D4.C5.C6.D7.D8.C9.D 10.A二、填空题(每空1分,共26分)1.正确性易读性强壮性高效率2.O(n)3.9 3 34.-1 3 4 X * + 2 Y * 3 / -5.2n n-1 n+16.e 2e7.有向无回路8.n(n-1)/2 n(n-1)9.(12,40)()(74)(23,55,63)10.增加111.O(log2n) O(nlog2n)12.归并三、计算题(每题6分,共24分)1.线性表为:(78,50,40,60,34,90)2.邻接矩阵:邻接表如图11所示:图113. 用克鲁斯卡尔算法得到的最小生成树为: (1,2)3, (4,6)4, (1,3)5, (1,4)8, (2,5)10, (4,7)204. 见图12四、读算法(每题7分,共14分) 1. (1)查询链表的尾结点(2)将第一个结点链接到链表的尾部,作为新的尾结点(3)返回的线性表为(a 2,a 3,…,an ,a 1) 2. 递归地后序遍历链式存储的二叉树。

五、法填空(每空2分,共8 分) true BST->left BST->right 六、编写算法(8分)int CountX(LNode* HL,ElemType x) { int i=0; LNode* p=HL;//i 为计数器 while(p!=NULL) { if (P->data==x) i++; p=p->next;}//while, 出循环时i 中的值即为x 结点个数 return i; }//CountX数据结构试卷(二)参考答案一、选择题1.D2.B3.C4.A5.A6.C7.B8.C二、填空题1.构造一个好的HASH函数,确定解决冲突的方法2.stack.top++,stack.s[stack.top]=x3.有序4.O(n2),O(nlog2n)5.N0-1,2N0+N16.d/27.(31,38,54,56,75,80,55,63)8.(1,3,4,5,2),(1,3,2,4,5)三、应用题1.(22,40,45,48,80,78),(40,45,48,80,22,78)2.q->llink=p; q->rlink=p->rlink; p->rlink->llink=q; p->rlink=q;3.2,ASL=91*1+2*2+3*4+4*2)=25/94.树的链式存储结构略,二叉树略5.E={(1,3),(1,2),(3,5),(5,6),(6,4)}6.略四、算法设计题1.设有一组初始记录关键字序列(K1,K2,…,K n),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于K i,右半部分的每个关键字均大于等于K i。

2013北理工《889数据结构》考研真题

2013北理工《889数据结构》考研真题

2013北理工《889数据结构》考研真题一、选择题。

(每小题2分,共40分)1.数据结构在计算机中的表示称为______。

A.物理结构B.逻辑结构C.虚拟结构D.抽象结构2.数据结构对外的接口主要是通过______体现的。

A.数据对象B.数据关系C.基本操作D.数据元素3.设N是描述问题规模的非负整数,下面程序片段的时间复杂度是______。

x=N;while(x>0)x=x/2;A.O(log2N) B.O(N) C.O(Nlog2N) D.O(N2)4.线性链表中一个结点所占用的空间______。

A.必须连续B.部分地址必须连续C.不一定连续D.连续与否无所谓5.将长度为m的单链表接在长度为n的单链表的后面,算法的时间复杂度为______。

A.O(n) B.O(1) C.O(m) D.O(m+n)6.设顺序表长度为n,从表中删除元素的概率相等。

则在平均情况下,从表中删除一个元素需要移动的元素个数是______。

A.(n-1)/2 B.n/2 C.n(n-1)/2 D.n(n+1)/27.在单链表中,增加一个头结点的目的是______。

A.方便运算的实现B.用于标识单链表C.使单链表至少有一个结点D.用于标识起始点的位置8.写出链栈的类型定义如下:9.一个栈的输入序列为a b c d e f,则下列序列中不可能的输出序列是______。

A.b c d a f e B.f e d c b aC.f e d c a b D.e d c b f a10.若一个栈以向量V[0..n-1]存储,设栈空时,栈顶指针top为n,则下面x 进栈的正确操作是______。

A.top=top+1;V[top]=x;B.V[top]=x;top=top+1;C.top=top-1;V[top]=x;D.V[top]=x;top=top-1;11.一个队列的入队序列是a b c d e f,则队列的输出序列是______。

北京理工大学数据结构作业(全)

北京理工大学数据结构作业(全)

北京理工大学数据结构作业(全)北理工数据结构作业第二章作业1、在什么情况下用顺序表比链表好?(题集2.3)需要对线性表进行随机存取时,顺序表比链表好。

2、已知L是带表头结点的非空单链表,且P结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。

(题集2.7)a.删除P结点的直接后继结点的语句序列是11 3 14。

b.删除P结点的直接前驱结点的语句序列是10 12 8 3 14。

c.删除P结点的语句序列是10 12 7 3 14。

d.删除首元结点的语句序列是12 11 3 14。

e.删除尾元结点的语句序列是12 11 3 14。

(1)p = p->next;(2)p->next = p;(3)p->next = p->next->next;(4)p = p->next->next;(5)while ( p!=NULL ) p=p->next;(6)while ( q->next!=NULL ) { p=q; q=q->next; }(7)while ( p->next!=q ) p=p->next;(8)while ( p->next->next!=q ) p=p->next;(9)while ( p->next->next!=NULL ) p=p->next;(10)q=p;(11)q=p->next;(12)p=l;(13)l=l->next;(14)free(q);3、算法设计。

设顺序表va中的数据元素递增有序,请设计一算法,将x插入到顺序表的适当位置,以保持该表的有序性。

(题集2.11)typedef struct{ElemType *elem;int length;int listsize;}Sqlist;Status ListInsert_Sq(Sqlist &va , ElemType x){if(va.length==va.listsize) return ERROR;for(i=va.length-1;i>=0&&xva.elem[i+1]=x;va.length++;return OK;}4、算法设计。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2017年北京理工大学数据结构889模拟试题说明:考纲上的分值分布是填空题20分、选择题30分、问答题70分、算法题30分,而根据学长们的经验,分值分布是有误的,下面分值分布仅供参考。

一、填空题(每空1分,共20分)1. 数据结构中评价算法的两个重要指标是()和()。

2. 线性表可以在()位置插入删除,栈只能在()位置插入删除,队列只能在()位置插入删除。

3. 有向图n个顶点,最多有()条边,最少有()条边;无向图n个顶点,最多有()条边,最少有()条边;有向完全图有()条边;无向完全图()边。

4. 在快速排序、堆排序、归并排序中,_________排序是稳定的,该排序的时间复杂度为____。

5. 设一组初始记录关键字序列为(49,38,65,97,76,13,27,50),则以d=4 为增量的一趟希尔排序结束后的结果为____。

6. 设有一组初始记录关键字序列为(50,16,23,68,94,70,73),则将它们调整成初始堆只需把16 与____相互交换即可。

7. 下面程序段的功能是实现在二叉排序树中插入一个新结点,请在下划线处填上正确的内容:typedef struct node{int data;struct node *lchild;struct node *rchild;}bitree;void bstinsert(bitree *&t,int k){if (t==0 ) {____________________________;t->data=k;t->lchild=t->rchild=0;}else if (t->data>k) bstinsert(t->lchild,k);else__________________________;}8. 设无向图G 中有n 个顶点e 条边,则用邻接矩阵作为图的存储结构进行深度优先或广度优先遍历时的时间复杂度为_________;用邻接表作为图的存储结构进行深度优先或广度优先遍历的时间复杂度为_________。

9. 设散列表的长度为8,散列函数H(k)=k % 7,用线性探测法解决冲突,则根据一组初始关键字序列(8,15,16,22,30,32)构造出的散列表的平均查找长度是________。

二、选择题(每题2分,共40分)1.数据结构在计算机中的表示称为()。

A.物理结构B.逻辑结构C.虚拟结构D.抽象结构2.设N是描述问题规模的非负正整数,下面程序片断的时间复杂度是()。

i=n;while(i>0){for(j=n;j>i;j--)count++;}A.O(N2)B.O(N)C.O(log2N)D.O(log2N)3.下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。

B.线性表采用顺序存储,便于进行插入和删除操作。

C.线性表采用链式存储,不必占用一片连续的存储空间。

D.线性表采用链式存储,便于进行插入和删除操作。

4.在双循环链表结点p之后插入s结点,正确的操作是()。

A. p->next =s; s->prev=p; s->next=p->next; p->next->prev =s;B. p->next->prev=s; p->next=s; s->prev=p; s->next=p->next;C. s->prev=p; s->next=p->next; p->next=s; p->next->prev=s;D. s->next=p->next; p->next->prev=s; s->prev=p; p->next=s;5.数字1 2 3 4 5入栈,以下哪个不可能是出栈顺序序列()。

A. 1 2 3 4 5B.3 2 1 4 5C. 4 2 5 3 1D. 3 4 5 2 16.表达式a*(b+c)-d的后缀表达式是()。

A. abcd*+-B.abc+*d-C.abc*+d-D.-+*abcd7.循环队列存储在数组A[0..m]中,则入队时的操作为()。

A.rear=rear+1B.rear=(rear+1)%(m-1)C.rear=(rear+1)%mD.rear=(rear+1)%(m+1)8. 设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到8,数组从内存首地址s开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为()。

A.s+141B.s+180C.s+222D.s+2259. 有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下查找成功所需的平均查找次数为()。

A. 35/12B. 37/12C. 39/12D. 43/1210. 设一颗二叉树中有65个结点,则该二叉树的深度至少为()。

A. 4B. 5C. 6D. 711. 设无向图G 中的边的集合E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点a 出发进行深度优先遍历可以得到的一种顶点序列为()。

A. aedfcbB. acfebdC. aebcfdD. aedfbc12. 设一棵三叉树中有2 个度数为1 的结点,2 个度数为2 的结点,2 个度数为3 的结点,则该三叉树中有()个度数为0 的结点。

A. 5B. 6C. 7D.813. 设一组初始记录关键字序列为(Q,H,C,Y,P,A,M,S,R,D,F,X),则按字母升序的第一趟冒泡排序结束后的结果是()。

(A) F,H,C,D,P,A,M,Q,R,S,Y,X(B) P,A,C,S,Q,D,F,X,R,H,M,Y(C) A,D,C,R,F,Q,M,S,Y,P,H,X(D) H,C,Q,P,A,M,S,R,D,F,X,Y14. 将森林F转换为对应的二叉树T,F中叶结点的个数等于()。

A.T中右孩子指针为空的结点个数 B. T中度为1的结点个数C.T中左孩子指针为空的结点个数 D. T中叶结点的个数15. 现有一颗无重复关键字的平衡二叉树(AVL树),对其进行中序遍历得到一个降序序列。

下列关于该平衡二叉树的叙述中,正确的是(D)A.根结点的度一定为2 B. 树中最小元素一定是叶子结点C. 最后插入的元素一定是叶子结点D.树中最大元素一定无右子树16. 设某棵三叉树中有40 个结点,则该三叉树的最小高度为()。

A. 3 B 4 C. 5 D. 617. 时间复杂度不受数据初始状态影响而恒为O(nlog2n)的是()。

A. 堆排序B. 冒泡排序C. 希尔排序D. 快速排序18. 设用邻接矩阵A 表示有向图G 的存储结构,则有向图G 中顶点i 的入度为()。

A. 第i 行非0 元素的个数之和B.第i 列非0 元素的个数之和C. 第i 行0 元素的个数之和D.第i 列0 元素的个数之和19. 设某哈夫曼树中有199 个结点,则该哈夫曼树中有()个叶子结点。

A. 99B. 100C. 101D. 10220. 设一组初始记录关键字序列为(13,18,24,35,47,50,62,83,90,115,134),则利用二分法查找关键字90 需要比较的关键字个数为()。

A.1B.2C.3D. 4三、简答题(60分)1.(10分)数据元素之间的关系在计算机中有几种表示方法?各有什么特点?2.(6分)下面有一种称为“破圈法”的求解最小生成树的方法:所谓“破圈法”就是“任取一圈,去掉圈上权最大的边”,反复执行这一步骤,直到没有圈为止。

试判断这种方法的正确性。

如果正确,请说明理由;如果不正确举出反例。

(注:圈就是回路)3. (10分)设给定权值集w={5,7,2,3,6,8,9},试构造关于w的一颗哈夫曼树,并求其加权路径长度WPL。

4.(12分)将下面由3棵树组成的森林转换为二叉树,并写出该二叉树的后序遍历,和层次遍历。

5.(12分)设散列表为Ht[0..12],即表大小为m=13.现采用双散列法解决冲突,散列函数和再散列函数分别为H0(key)=key%13,Hi=(H i-1+REV(key+1)%11+1)%13,其中i=1,2,3…m-1,REV(x)表示颠倒10进制x的各位,如REV(37)=73,REV(7)=7。

若插入的关键码序列为(2,8,31,20,19,18,53,27)。

请回答:(1)画出插入这8个关键码后的散列表。

(2)计算查找成功的平均查找长度ASL。

6.(10分)给出关键字序列{50,26,38,80,70,90,8,30,40,20}的希尔排序过程,取增量序列d={5,3,1},排序结果为从小到大排列。

四、算法题(30分)1. (8分)编写函数统计出单链表HL 中结点的值等于给定值X 的结点数,函数声明如下:int CountX(LNode* HL,ElemType x)2. (8分)编写函数delredundant(lklist *&head)完成在单链表中删除值相同的多余结点的算法(要求写出单链表的数据结构类型定义)。

3. (8分)编写一个函数求结点x 在二叉树中的双亲结点。

4. (6分)设有一组初始记录关键字序列(K1,K2,…,Kn),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于Ki,右半部分的每个关键字均大于等于Ki。

所设计的函数声明如下:void quickpass(int r[], int s, int t) 。

相关文档
最新文档