北科数据结构真题

合集下载

(完整word版)数据结构试题集(包含答案完整版)

(完整word版)数据结构试题集(包含答案完整版)

第一章概论一、选择题1、研究数据结构就是研究(D )。

A. 数据的逻辑结构B。

数据的存储结构C. 数据的逻辑结构和存储结构D。

数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。

A。

空间复杂度和时间复杂度 B. 正确性和简单性C。

可读性和文档性D。

数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。

A。

图B。

树C。

广义表D。

栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。

A. 可执行性、可移植性和可扩充性B。

可执行性、有穷性和确定性C。

确定性、有穷性和稳定性 D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。

for(i=0;i<m;i++)for(j=0;j〈n;j++)a[i][j]=i*j;A. O(m2) B。

O(n2) C。

O(m*n) D. O(m+n)6、算法是(D )。

A。

计算机程序 B. 解决问题的计算方法C。

排序算法 D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。

A。

O(n) B. O(nlog2n) C。

O(n2) D. O (log2n)8、下面程序段的时间复杂度为( C ).i=1;while(i<=n)i=i*3;A. O(n)B。

O(3n) C。

O(log3n) D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。

A. 结构B。

关系C。

运算D。

算法10、下面程序段的时间复杂度是(A )。

i=s=0;while(s<n){i++;s+=i;}A. O(n) B。

O(n2)C。

O(log2n)D。

O(n3)11、抽象数据类型的三个组成部分分别为(A)。

A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是()。

2022年北京科技大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年北京科技大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年北京科技大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、用有向无环图描述表达式(A+B)*((A+B)//A),至少需要顶点的数目为()。

A.5B.6C.8D.92、若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。

A.快速排序B.堆排序C.归并排序D.直接插入排序3、线性表的顺序存储结构是一种()。

A.随机存取的存储结构B.顺序存取的存储结构C.索引存取的存储结构D.Hash存取的存储结构4、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。

A.(rear-front+m)%mB.rear-front+1C.rear-front-1D.rear-front5、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>, <V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G的拓扑序列是()。

A.V1,V3,V4,V6,V2,V5,V7B.V1,V3,V2,V6,V4,V5,V7C.V1,V3,V5,V2,V6,V7D.V1,V2,V5,V3,V4,V6,V76、已知字符串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=27、下列叙述中,不符合m阶B树定义要求的是()。

A.根结点最多有m棵子树 B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接8、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历结果为()。

北科大数据结构上机题代码

北科大数据结构上机题代码

北科大数据结构上机题代码《数据结构》上机题1、输入数据建立单链表,并求相邻两节点data值之和为最大的第一节点。

例如输入:26473 0,建立:所求结果=4 程序结构:类型说明;建表函数:Creatlist(L); 求值函数:Adjmax(L);main( ){ 变量说明;调用Creatlist(L)建表;调用Adjmax(L)求值;打印数据;释放链表空间;Y继续?N停止 } 上机题1:#include #include typedef int datatype;//设当前数据元素为整型 typedef struct node//节点类型 { datatype data;//节点的数据域struct node *next;//节点的后继指针域 }Linknode,*Link;//linknode为节点说明符,link为节点指针说明符 Link Createlist()//创建单链表的算法 { int a,c;float b; Link H,P,r;//H,P,r分别为表头,新节点和表尾节点指针H=(Link)malloc(sizeof(Linknode)); //建立头节点 r=H; do{ c=(fflush(stdin),scanf(\ //判断输入的是否是整数a=(int)b; if(c!=1||a!=b||a>-2^16||a-2^16||adata=a;//存入数据 r->next=P;//新节点链入表尾r=P; do { c=(fflush(stdin),scanf(\ //判断输入的是否是整数 a=(int)b; if(c!=1||a!=b||a>-2^16||a-2^16||anext=NULL;//将尾节点的指针域置空 return(H);//返回已创建的头节点 } Link Adjmax(Link H)//求链表中相邻两节点data值之和为最大的第一节点的指针的算法 { Link p,p1,q; int i,j; p=p1=H->next; if(p1==NULL) return(p1); //表空返回 q=p->next; if(q==NULL)return(p1); //表长=1时返回 i=p->data+q->data;//相邻两节点data值之和 while(q->next){ p=q;q=q->next;//取下一对相邻节点的指针j=p->data+q->data; if(j>i){p1=p;i=j;//取和为最大的第一节点指针} } return (p1); } void main()//主函数 { Link A,B,p,q; int a,b; do { printf(\请输入一组整数(以0为结束符,数之间回车):\\n\ p=A=Createlist();//创建新链表 B=Adjmax(A);//求链表中相邻两节点data值之和为最大的第一节点的指针a=(int)(B->data);//取第一节点的data值printf(\第一节点的data值为:%d\\n\ while(p->next)//释放链表空间{q=p;p=p->next;free(q);} free(p); printf(\是否继续输入下一组整数:是:1,否:0\\n\scanf(\}while(b); } 上机题2、实现算术表达式求值程序。

数据结构考研真题及其答案

数据结构考研真题及其答案

一、选择题1. 算法的计算量的大小称为计算的( B )。

【北京邮电大学2000 二、 3( 20/8 分)】A.效率 B.复杂性 C.现实性 D.难度2.算法的时间复杂度取决于( C )【中科院计算所1998二、1(2分)】A.问题的规模 B.待处理数据的初态 C. A 和 B3.计算机算法指的是( C),它必须具备( B)这三个特性。

(1) A .计算方法 B.排序方法 C. 解决问题的步骤序列D. 调度方法(2) A .可执行性、可移植性、可扩充性 B .可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D.易读性、稳定性、安全性【南京理工大学1999一、1(2分)【武汉交通科技大学1996一、1( 4 分)】4.一个算法应该是(B)。

【中山大学1998二、1(2分)】A .程序B.问题求解步骤的描述C.要满足五个基本特性D.A 和 C.5.下面关于算法说法错误的是(D)【南京理工大学2000一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D.以上几个都是错误的6.下面说法错误的是(C)【南京理工大学2000一、2(1.5分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间( 2)在相同的规模n 下,复杂度O(n) 的算法在时间上总是优于复杂度nO(2 ) 的算法( 3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界( 4)同一个算法,实现语言的级别越高,执行效率就越低4A . (1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为(C)两大类。

【武汉交通科技大学1996一、4(2 分)】A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是(D)【。

北方交通大学2000二、1( 2 分)】A.循环队列 B.链表 C.哈希表 D.栈9.以下数据结构中,哪一个是线性结构(D)?【北方交通大学2001一、 1( 2 分)】A.广义表 B.二叉树 C.稀疏矩阵 D.串10.以下那一个术语与数据的存储结构无关?( A 【)北方交通大学 2001 一、2( 2 分)】A.栈 B.哈希表 C.线索树 D.双向链表11.在下面的程序段中,对x 的赋值语句的频度为(C)【北京工商大学2001 一、 10( 3 分)】FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A. O(2n)B. O(n)C2Dn .O(n ). O(log 2 )12.程序段 FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与 A[j+1] 对换;其中 n 为正整数,则最后一行的语句频度在最坏情况下是(D)A. O ( n)B. O(nlogn)C. O(n3)D.O(n 2)【南京理工大学 1998 一、 1(2 分 ) 】13.以下哪个数据结构不是多型数据类型(D)【中山大学1999一、 3(1 分)】A.栈B.广义表C.有向图D.字符串14.以下数据结构中,( A)是非线性数据结构【中山大学1999一、4】A.树B.字符串C.队D.栈15.下列数据中,( C )是非线性数据结构。

(NEW)北京科技大学871计算机综合一(含计算机组成原理、数据结构)历年考研真题汇编

(NEW)北京科技大学871计算机综合一(含计算机组成原理、数据结构)历年考研真题汇编
5 以下几种存储器中,存取速度最快的是( ) (A)Cache (B)寄存器
(C)内存 (D)闪存 【答案】B
6 关于DRAM刷新的说法中错误的是( )
(A)刷新是通过对存储单元进行“读但不输出数据”的操作来实现的 (B)刷新时指对DRAM中的存储电容重新充电 (C)由于DRAM内部设有专门的刷新电路,所以访存期间允许刷新 (D)刷新是按行进行的 【答案】C 【解析】DRAM访期间可以刷新,存储期间不可以
2013年北京科技大学869计算机组 成原理考研真题及答案详解
一、选择(满分20分,每题1分) 1 计算机中采用补码运算的目的是为了( ) (A)与手工运算方式保持一致 (B)提高运算速度 (C)简化计算机的设计 (D)提高运算的精度 【答案】C 【解析】化减为加,简化计算机的设计
目 录
871计算机综合一(含计算机组成原理、数据结构)考试大纲及参考书 1998年北京科技大学数据结构考研真题及答案 1999年北京科技大学计算机组成原理考研真题 1999年北京科技大学数据结构考研真题及答案 2000年北京科技大学计算机组成原理考研真题 2000年北京科技大学数据结构考研真题及答案 2001年北京科技大学计算机组成原理考研真题 2001年北京科技大学数据结构考研真题及答案 2002年北京科技大学数据结构考研真题及答案 2003年北京科技大学数据结构考研真题及答案 2004年北京科技大学468数据结构及软件工程考研真题及数据结构部分 答案 2005年北京科技大学468数据结构及软件工程考研真题及数据结构部分 答案 2006年北京科技大学416计算机组成原理及数据结构考研真题及答案 2007年北京科技大学416计算机组成原理及数据结构考研真题及答案

2007年北京科技大学416计算机组 成原理及数据结构考研真题及答

北京科技大学数据结构上机考试

北京科技大学数据结构上机考试

《认识实习》数学信计15考试报告(2017.07.14)N = Convert.ToInt32(textBox1.Text);k = new int[N, myn];sum = new int[this.N];ave = new float[this.N];float num = 0f;Random random = new Random();Brush brush = new SolidBrush(Color.Red);for (int i = 0; i < N; i++){sum[i] = 0;for (int j = 0; j < myn; j++){float num2 = (float)random.NextDouble();float num3 = 0f;for (int k = 0; k < mym; k++){if (k == 0){num3 = P0[0];}else{num3 += P0[k];}if (num2 <= num3){this.k[i, j] = k + 1;break;}}sum[i] += k[i, j];}num += (float)this.sum[i];ave[i] = num / (float)(i + 1);m2.Clear(Color.White);lenx = (float)this.pictureBox2.ClientSize.Width / m2.DpiX;leny = (float)this.pictureBox2.ClientSize.Height / m2.DpiY;Pen pen = new Pen(Color.YellowGreen, 1f / m2.DpiY);float num4;for (int k = 1; k < mym; k++){num4 = (float)k * leny / (float)this.mym;m2.DrawLine(pen, 0f, num4, lenx, num4);}float num5;for (int j = 1; j < myn; j++){num5 = (float)j * lenx / (float)this.myn;m2.DrawLine(pen, num5, 0f, num5, leny);}for (int j = 0; j < myn; j++){num5 = ((float)j + 0.5f) * lenx / (float)this.myn;num4 = ((float)this.k[i, j] - 0.5f) * leny / (float)this.mym;m2.FillEllipse(brush, num5, num4, 0.2f, 0.2f);}lenx = (float)this.pictureBox1.ClientSize.Width / m1.DpiX;leny = (float)this.pictureBox1.ClientSize.Height / m1.DpiY;num5 = ((float)i + 0.5f) * lenx / (float)this.N;num4 = ((float)(this.sum[i] - myn) + 0.5f) * leny / (float)(this.mym * myn - myn + 1); m1.FillEllipse(brush, num5, num4, 0.05f, 0.05f);Pen pen2 = new Pen(Color.Gold, 1f / m3.DpiY);if (i > 0){float num6 = (float)(this.mym * myn - myn + 1) - ave[i - 1];float num7 = (float)(this.mym * myn - myn + 1) - ave[i];m3.DrawLine(pen2, (float)(((double)i - 0.5) * (double)this.X3), num6 * Y3, (float)(((double)i + 0.5) * (double)this.X3), num7 * Y3);}if (this.checkBox1.Checked){Thread.Sleep((int)Convert.ToInt16(this.textBox2.Text));}}5.在左下角,画出横线为随机变量的期望,累计平均值Count(this.textBox5.Text);maxy = 0f;for (int i = 1; i <= myn; i++){for (int j = 1; j <= mym * i; j++){if (this.Pn[j - 1, i - 1] > maxy){maxy = Pn[j - 1, i - 1];}}}m4 = pictureBox4.CreateGraphics();m4.Clear(Color.White);m4.PageUnit = GraphicsUnit.Inch;lenx = (float)this.pictureBox4.ClientSize.Width / m4.DpiX;leny = (float)this.pictureBox4.ClientSize.Height / m4.DpiY; X4 = lenx / (float)(this.mym * myn);Y4 = leny / maxy;Brush brush = new SolidBrush(Color.FromArgb(255, 0, 0, 255));PointF pt = new PointF(0f, 0f);PointF pt2 = new PointF(0f, 0f);for (int i = 1; i <= myn; i++){m4.Clear(Color.White);for (int j = i; j <= mym * i; j++){if ((double)this.Pn[j - 1, i - 1] > 0.001){pt.X = (float)j * X4;pt.Y = (this.maxy - Pn[j - 1, i - 1]) * Y4;m4.FillRectangle(brush, pt.X, pt.Y, X4 / 2f, Pn[j - 1, i - 1] * Y4); }}Thread.Sleep(500);}float啊 = this.啊;float哦 = this.哦;float num = 0.1f;int num2 = (int)(6.0 * Math.Sqrt((double)哦) / (double)num) + 1;PointF[] array = new PointF[num2];Pen pen = new Pen(Color.FromArgb(255, 255, 0, 0), 2f / m4.DpiY);int num3 = 0;int num4 = 0;for (float num5 = (float)((double)啊 - 3.0 * Math.Sqrt((double)哦)); num5 <= (float)((double)啊 + 3.0 * Math.Sqrt((double)哦)); num5 += num){float num6 = 1f / (float)Math.Sqrt(6.2831852 * (double)哦) *(float)Math.Exp((double)(-(double)(num5 - 啊) * (num5 - 啊) / (2f * 哦)));float x = num5 * X4;float y = (this.maxy - num6) * Y4;array[num3].X = x;array[num3].Y = y;num3++;if (num4 == 0){pt.X = x;pt.Y = y;num4 = 1;}else{pt2.X = x;pt2.Y = y;m4.DrawLine(pen, pt, pt2);pt.X = pt2.X;pt.Y = pt2.Y;}Thread.Sleep(10);}。

最新 十套数据结构试题及答案

最新 十套数据结构试题及答案

最新十套数据结构试题及答案最新十套数据结构试题及答案数据结构试卷(一).................1数据结构试卷(二).. (4)数据结构试卷(三).................6数据结构试卷(四).................8数据结构试卷(五)................11数据结构试卷(六)................14数据结构试卷(七)................16数据结构试卷(八)................18数据结构试卷(九)................20数据结构试卷(十). (23)数据结构试卷(一)参考答案.........26数据结构试卷(二)参考答案 (27)数据结构试卷(三)参考答案.........28数据结构试卷(四)参考答案.........30数据结构试卷(五)参考答案.........32数据结构试卷(六)参考答案.........33数据结构试卷(七)参考答案.........36数据结构试卷(八)参考答案.........37数据结构试卷(九)参考答案.........38数据结构试卷(十)参考答案.........39数据结构试卷(一)一、单选题(每题2分,共20分)1.栈和队列的共同特点是()。

a.只允许在端点处插入和删除元素b.都是先进后出c.都是先进先出d.没有共同点2.用链接方式存储的队列,在展开填入运算时().a.仅修改头指针b.头、尾指针都要修改c.仅修改尾指针d.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?()a.队列b.栈c.线性表d.二叉树4.设有一个二维数组a[m][n],假设a[0][0]存放位置在644(10),a[2][2]存放位置在676(10),每个元素占一个空间,问a[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

a.688b.678c.692d.6965.树最适合用来表示()。

计算机科学与技术专业数据结构试题(最终)

计算机科学与技术专业数据结构试题(最终)

计算机科学与技术专业数据布局试题一、填空题〔每题 2 分〕1、与数据元素本身的形式、内容、相对位置、个数无关的是数据的〔〕A 存储布局B 逻辑布局C 算法D 操作2、链式栈与挨次栈比拟,一个比拟明显的长处是〔〕A 插入操作更加便利B 通常不会呈现栈满的情况D 删除操作更加便利C 不会呈现栈空的情况3、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。

这样的排序方法是〔〕A 直接选择排序B 直接插入排序C 快速排序D 起泡排序4、假设采用邻接矩阵法存储一个N 个顶点的无向图,那么该邻接矩阵是一个〔〕A 上三角矩阵B 稀疏矩阵C 对角矩阵D 对称矩阵5、在一个挨次存储的循环队列中,队头指针指向队头元素的〔〕A 前一个位置B 后一个位置C 队头元素位置D 队尾元素的前一位置6、用链表暗示线性表的长处是〔〕A 便于随机存取B 花费的存储空间比挨次表少C 便于插入与删除D 数据元素的物理挨次与逻辑挨次不异7、对5 个不同的数据元素进行直接插入排序,最多需要进行〔〕次比拟。

A 8B 10C 15D 258、以下存储形式中,〔〕不是树的存储形式A 双亲暗示法B 左子女右兄弟暗示法C 广义表暗示法D 挨次暗示法9、在一棵具有 5 层的满二叉树中结点数为〔〕A 31B 32C 33D 1610、设有100 个数据元素,采用折半搜索时,最大比拟次数为〔〕A 6B 7C 8D 10二、判断题〔每题 1 分〕〔〕1、算法的运行时间涉及加、减、乘、除、转移、存、取、等根本运算。

要想准确地计算总运算时间是不成行的。

〔〕2、二维数组是数组元素为一维数组的线性表,因此它是线性布局。

〔〕3、挨次表用一维数组作为存储布局,因此挨次表是一维数组。

〔〕4、通常使用两个类来协同暗示单链表,即链表的结点类和链表类。

〔〕5、栈和队列都是挨次存取的的线性表,但它们对存取位置的限制不同。

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