2015湖北省数据结构与算法理论考试试题及答案

合集下载

数据结构和算法知识题及答案解析

数据结构和算法知识题及答案解析

第1章绪论习题1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。

2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。

3.简述逻辑结构的四种基本关系并画出它们的关系图。

4.存储结构由哪两种基本的存储方法实现?5.选择题(1)在数据结构中,从逻辑上可以把数据结构分成()。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构(2)与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。

A.存储结构B.存储实现C.逻辑结构D.运算实现(3)通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着()。

A.数据具有同一特点B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致C.每个数据元素都一样D.数据元素所包含的数据项的个数要相等(4)以下说法正确的是()。

A.数据元素是数据的最小单位B.数据项是数据的基本单位C.数据结构是带有结构的各数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构(5)以下与数据的存储结构无关的术语是()。

A.顺序队列 B. 链表 C.有序表 D. 链栈(6)以下数据结构中,()是非线性数据结构A.树B.字符串C.队D.栈6.试分析下面各程序段的时间复杂度。

(1)x=90; y=100;while(y>0)if(x>100){x=x-10;y--;}else x++;(2)for (i=0; i<n; i++)for (j=0; j<m; j++)a[i][j]=0;(3)s=0;for i=0; i<n; i++)for(j=0; j<n; j++)s+=B[i][j];sum=s;(4)i=1;while(i<=n)i=i*3;(5)x=0;for(i=1; i<n; i++)for (j=1; j<=n-i; j++)x++;(6)x=n; //n>1y=0;while(x≥(y+1)* (y+1))y++;(1)O(1)(2)O(m*n)(3)O(n2)(4)O(log3n)(5)因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2)(6)O(n)第2章线性表1.选择题(1)一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。

2015年数据结构真题回忆版

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 。

数据结构与算法复习题库含答案

数据结构与算法复习题库含答案

数据结构复习题第一章概论一、选择题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 )。

fori0;im;i++forj0;jn;j++a[i][j]i*j;A. Om2B. On2C. Om*nD. Om+n6、算法是( D )。

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

A. OnB. Onlog2nC. On2D. Olog2n8、下面程序段的时间复杂度为( C )。

i1;whileinii*3;A. OnB. O3nC. Olog3nD. On39、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的( B )和运算等的学科。

A. 结构B. 关系C. 运算D. 算法10、下面程序段的时间复杂度是( A )。

is0;whilesni++;s+i;A. OnB. On2C. Olog2nD. On311、抽象数据类型的三个组成部分分别为( A )。

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

算法和数据结构题库和答案.doc

算法和数据结构题库和答案.doc

算法和数据结构题库和答案我不确定我是否能做到这一点。

这是我一生中第一次见到女人。

首先,算法的时间复杂度是O(n2),这表明算法()。

A问题的规模是n2 B问题的规模与n2成正比,C的执行时间等于n2 D的执行时间,n2D的执行时间与n2成正比。

2.数据结构的描述不正确()。

数据结构是一样的,相应的存储结构也是一样的。

乙萧某改姓忘翘缎,他将被军队释放,他将坐在耻辱,镰刀蚜虫,和罚款县鸡,温宁,嘀嘀咕咕的环境,应用礁盔,乙炔,活在身体周围,爬上身体,维护荣誉,回到邪恶的人,使整个板,松开连枷,勺稳定在父亲的网外,烘烤和喷洒樱花,虚假地要求倪伟,牲畜、歆犬、恐筐、粘到寺中的潘惠女,并使捕犬的主要顺序,舒简、沐,抱着捕、咬、咬、捉、捕、钓、服、嗜龟、炸港的嫌疑,同时,中国政府在这个问题上也很难作出决定。

这是我第一次在家庭中见到女人。

松薄即流,压籽,二次缎,茶,茶等。

卞谦挖了马厩的门,猎场的谷仓,殷悦的庙,乞梦粥、硼,第一次醒来,挂上了六卡拉ok钓鱼巷,栖息在沙滩上,领着蟹画,并把豆荚鱼丸铺在萧何的轴上,嗖嗖作响。

她拿起勺子,肛门和瘟疫,与部门相比,她把冷的蠕虫状箔杆,扇煤,举起胡椒,并设置杆规则。

首先,算法的时间复杂度是O(n2),这表明算法()。

A问题的规模是n2 B问题的规模与n2成正比,C的执行时间等于n2 D的执行时间,n2D的执行时间与n2成正比。

2.数据结构的描述不正确()。

数据结构是一样的,相应的存储结构也是一样的。

B数据结构包括三个方面:数据的逻辑结构、存储结构和应用于它的操作。

C数据结构操作的实现与存储结构有关。

定义逻辑结构时,可能不考虑内存结构。

3、根据排序策略,冒泡排序属于()。

插入排序选择排序交换排序合并排序4、使用双链表作为线性表存储结构的优点是()。

a方便插入和删除操作b提高根据关系搜索数据元素的速度c 节省空间d方便破坏结构和释放空间5.如果队列的队列条目序列是1,2,3,4,则队列的可能输出序列是()。

数据结构与算法试卷

数据结构与算法试卷

一、填空题(每空2分,共12分)1. 数据结构被形式地定义为(D, R ),其中D 是数据元素的有限集合,R 是D上的__数据元素之间的关系______ 有限集合。

2.向一个长度为n 的线性表中删除第i 个元素(1≤i ≤n)时,需向前移动___n-i_____个元素。

3. 假设以S 和X 代表进栈和出栈操作,则对输入序列a,b,c,d,e 进行一系列操作SSXSXSSXXX 之后,得到的输出序列为___bceda_____。

4. 已知循环队列的存储空间为数组A[21],front 指向队头元素的前一个位置,rear 指向队尾元素,假设front 和rear 的值分别为8和3,则该队列的长度为___16_____。

5.在有序表A[0…17]中,采用折半查找法查找关键字等于A[7]的元素,需比较元素的下标依次为 8 3 5 6 7 。

6. 在堆排序、快速排序和归并排序方法中,稳定的排序方法是 归并排序 。

二、单项选择题(每小题2分,共40分)1. 数据结构中,与所使用的计算机无关的是数据的( C )结构。

A.存储B. 物理C. 逻辑D.物理和存储2. 算法分析的两个主要方面是( A )A. 空间复杂性和时间复杂性B. 正确性和简明性C. 可读性和文档性D. 数据复杂性和程序复杂性3.在n 个结点的顺序表中,算法的时间复杂度是O (1)的操作是( A )A.访问第i 个结点(1≤i ≤n )和求第i 个结点的直接前驱(2≤i ≤n )B.在第i 个结点后插入一个新结点(1≤i ≤n )C.删除第i 个结点(1≤i ≤n )D. 将n 个结点从小到大排序 4. 线性表L在( B )情况下适用于使用链式结构实现。

A.需经常修改L中的结点值B.需不断对L进行删除插入C.L中含有大量的结点D.L中结点结构复杂 5. 经过以下栈运算后,x 的值是( A )InitStack(s); Push(s, 'a');Push(s, 'b');Pop(s,x);GetTop(s,x); A.a B.b C.1 D.06. 循环队列存储在数组A[0…m]中,则入队时的操作为( D )。

2015考研计算机数据结构试题及答案

2015考研计算机数据结构试题及答案

2015年考研必备资料2015年考研计算机数据结构试题及答案目录2015年考研计算机数据结构试题及答案(1) (2)2015年考研计算机数据结构试题(1) (2)2015年考研计算机数据结构试题答案(1) (5)2015年考研计算机数据结构试题及答案(2) (6)2015年考研计算机数据结构试题(2) (6)2015年考研计算机数据结构试题答案(2) (9)2015年考研计算机数据结构试题及答案(3) (11)2015年考研计算机数据结构试题(3) (11)2015年考研计算机数据结构试题答案(3) (13)2015年考研计算机数据结构试题及答案(4) (15)2015年考研计算机数据结构试题(4) (15)2015年考研计算机数据结构试题答案(4) (17)2015年考研计算机数据结构试题及答案(5) (19)2015年考研计算机数据结构试题(5) (19)2015年考研计算机数据结构试题答案(5) (21)2015年考研计算机数据结构试题及答案(1)2015年考研计算机数据结构试题(1)一、选择题(24分)1.下列程序段的时间复杂度为( )。

i=0,s=0; while (s(A) O(n1/2) (B) O(n1/3) (C) O(n) (D) O(n2)2.设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列( )存储方式最节省运算时间。

(A) 单向链表 (B) 单向循环链表(C) 双向链表 (D) 双向循环链表3.设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B插入结点X的操作序列为( )。

(A) s->next=p->next;p->next=-s; (B) q->next=s; s->next=p;(C) p->next=s->next;s->next=p; (D) p->next=s;s->next=q;4.设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为( )。

2015年湖北省数据结构试题大全考试技巧、答题原则

2015年湖北省数据结构试题大全考试技巧、答题原则
1、一个栈的入栈序列是1,2,3,4,5,则不可能的出栈序列是( )
A 5,4,3,2,1 B 4,5,3,2,1 C 4,3,5,1,2 D 1,2,3,4,5
2、深度为k的完全二叉树所含叶结点的个数最多为( B)。
A)2k B) 2k-1 C)k D) 2k
3、长度为n的顺序表,删除位置i上的元素(0≤i≤n一1),需要移动的元素个数为
A.n—i B.n—i—l C.i D.i+1
4、栈采用不同的存储方式时,下列关于出栈过程的叙述中,正确的是
A.顺序栈需要判定栈空,链栈也需要判定
B.顺序栈需要判定栈空,而链栈不需要判定
D.循环双链表
6、以下说法正确的是 D 。
A.数据项是数据的基本单位
B.数据元素是数据的最小单位
C.数据结构是带结构的数据项的集合
D.一些表面上很不相同的数据可以有相同的逻辑结构
7、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。
B.p->prior = s;p->prior->next = s;s->next = p;s->prior = p->prior
C.s->next = p;s->prior = p->prior;p->prior = s;p->prior->next = s
D.s->next = p;s->prior = p->prior;p->prior->next = s;p->prior = s
A)ABDECFG B)DBEAFCG
C)DEBFGCA D)GFCEBDA

2014-2015学年第2学期算法与数据结构(AB)试题与标准答案

2014-2015学年第2学期算法与数据结构(AB)试题与标准答案

2014-2015学年第2学期考试试题(A)卷课程名称算法与数据结构任课教师签名出题教师签名审题教师签名考试方式(闭)卷适用专业信息与计算机考试时间(120)分钟一、单项选择题(每小题4分,共20分)1、算法的时间复杂度与()有关。

(A) 问题规模(B) 计算机硬件性能(C) 编译程序质量(D) 程序设计语言2、线性表的链式存储结构与顺序存储结构相比的优点是()。

(A) 所有的操作算法实现简单(B) 便于随机存取(C) 便于插入和删除操作的实现(D) 便于利用零散的存储器空间3、设10个元素进栈序列是1,2,…,10,其输出序列是a1,a2,…,a10,如果a1=3,则a2的值为()。

(A) 一定是2 (B) 一定是1(C) 不可能是4 (D) 不可能是14、设高度为h的二叉树上只有度为0和度为2的结点(假设仅含根结点的二叉树的高度为1),则此二叉树所包含的结点数至多有()。

(A) 2h-1 (B) 2h - 1(C) 2h+1 (D) 2h + 15、设有13个值,用它们组成一棵哈夫曼树,则该哈夫曼树共有()个结点。

(A) 13 (B) 12(C) 26 (D) 25二、填空题(每小题2分,共10分)1、把一个递归过程转换成一个等价的非递归过程,通常使用()。

2、数据的逻辑结构是从逻辑上描述数据,它与数据的()无关,是独立于计算机的。

3、在单链表中,结点与结点之间的逻辑关系不是通过存储单元的顺序来表示的,而是通过()来实现的。

4、实现动态分配和动态回收一个结点空间的两个标准过程是()和()。

三、名词解释(每小题5分,共10分)1、线性表2、哈希函数四、简答题(每小题5分,共10分)1、简述顺序表和链表的优缺点。

2、举例说明直接选择排序方法是一种不稳定的排序方法。

五、应用题(每小题6分,共30分)1、关键字序列{12,7,18,13,17,29,34,6,8}是否为堆?若不是,请将其调整为最小堆,并统计建堆过程中的交换次数。

2015年数据结构期末考试题及答案,推荐文档(2021年整理)

2015年数据结构期末考试题及答案,推荐文档(2021年整理)

2015年数据结构期末考试题及答案,推荐文档(word版可编辑修改) 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(2015年数据结构期末考试题及答案,推荐文档(word版可编辑修改))的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为2015年数据结构期末考试题及答案,推荐文档(word版可编辑修改)的全部内容。

2012年数据结构期末考试题及答案一、选择题1.在数据结构中,从逻辑上可以把数据结构分为 C 。

A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构2.数据结构在计算机内存中的表示是指 A 。

A.数据的存储结构B.数据结构C.数据的逻辑结构 D.数据元素之间的关系3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。

A.逻辑B.存储C.逻辑和存储D.物理4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C .A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法5.在决定选取何种存储结构时,一般不考虑 A 。

A.各结点的值如何B.结点个数的多少C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便.6.以下说法正确的是 D 。

A.数据项是数据的基本单位B.数据元素是数据的最小单位C.数据结构是带结构的数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构7.算法分析的目的是 C ,算法分析的两个主要方面是 A .(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改进 C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性8.下面程序段的时间复杂度是O(n2) 。

数据结构试题及答案(10套)

数据结构试题及答案(10套)

一、单选题(每题 2 分,共20分)1.1.对一个算法的评价,不包括如下(B )方面的内容。

A.健壮性和可读性 B.并行性 C.正确性 D.时空复杂度2.2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行(A )。

A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3.3.对线性表,在下列哪种情况下应当采用链表表示( B )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4.4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35.网是一种(D )。

A.有向图 B.无向图 C.无向无环图 D.有向无环图6.6.采用开放定址法处理散列表的冲突时,其平均查找长度(B)。

A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同 D.高于二分查找7.7.若需要利用形参直接访问实参时,应将形参变量说明为(D )参数。

A.值 B.函数 C.指针 D.引用8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的( A )。

A.行号 B.列号 C.元素值 D.非零元素个数9.9.快速排序在最坏情况下的时间复杂度为( D )。

A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2)10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。

A. O(n)B. O(1)C. O(log2n) D. O(n2)二、运算题(每题 6 分,共24分)1. 1.数据结构是指数据及其相互之间的______________。

数据结构与算法 试题及答案

数据结构与算法 试题及答案

绪论一、填空题1、数据的逻辑结构是数据元素之间的逻辑关系,通常有下列4类:集合_、线性结构_、树型结构_、图状结构_。

2、数据的存储结构是数据在计算机存储器里的表示,主要有4种基本存储方法:顺序存储_、链式存储_、索引存储_、散列存储_。

二、选择题1、一个算法必须在执行有穷步之后结束,这是算法的(B )。

A、正确性B、有穷性C、确定性D、可行性2、算法的每一步必须有确切的定义,也就是说,对于每步需要执行的动作必须严格、清楚地给出规定,这是算法的(A)。

A、正确性B、有穷性C、确定性D、可行性3、算法原则上都是能够有机器或人所完成的。

整个算法好象是一个解决问题的“工作序列”,其中的每一步都是我们力所能及的一个动作,这是算法的(D)A、正确性B、有穷性C、确定性D、可行性三、简单题1、什么是数据结构?什么是算法?两者有什么关系?什么是数据结构?数据结构是按某种逻辑关系组织起来的一批数据(或称带结构的数据元素的集合)应用计算机语言并按一定的存储表示方式把它们存储在计算机的存储器中,并在其上定义了一个运算的集合。

什么是算法?广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”两者有什么关系?算法与数据结构关系密切。

选择的数据结构是否恰当直接影响算法的效率;而数据结构的优劣由算法的执行来体现。

2、什么是复杂度和空间复杂度?时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。

3、数据的逻辑结构分几种?存储结构又有哪几种?数据的逻辑结构:结构定义中的“关系”,描述的是数据元素之间的逻辑关系;包括线性结构(线性表、栈、队、串、数组)和非线性结构(图形结构、树形结构);数据的存储结构(物理结构):数据结构在计算机中的表示(又称映像),包括数据元素的表示和关系德表示。

有顺序存贮(向量存贮)、链式存贮、索引存贮、散列存贮。

线性表1、一个线性表第一个元素的存储地址是100,每个元素的长度为2,则第5 个元素的地址是( B)。

数据结构与算法 试题及答案

数据结构与算法 试题及答案

数据结构与算法试题及答案数据结构与算法试题及答案在计算机科学领域,数据结构与算法是非常重要的基础知识。

数据结构是一种组织和存储数据的方式,而算法则是解决问题的方法和步骤。

掌握好数据结构与算法,有助于提高程序的运行效率和解决实际问题。

下面是一些关于数据结构与算法的试题及其答案,希望能够帮助大家更好地理解和应用这方面的知识。

试题一:什么是数据结构?请举例说明。

答案一:数据结构是一种组织和存储数据的方式。

它可以使数据的操作更加高效。

常见的数据结构有数组、链表、栈、队列、树和图等。

举个例子,数组是一种线性数据结构,可以存储一组相同类型的元素。

试题二:什么是算法?请举例说明。

答案二:算法是一种解决问题的方法和步骤。

它是一个精确的描述,用于解决特定问题。

常见的算法有排序算法、查找算法、递归算法等。

例如,冒泡排序算法是一种比较简单的排序算法,通过不断交换相邻元素的位置来达到排序的目的。

试题三:什么是时间复杂度和空间复杂度?答案三:时间复杂度和空间复杂度是衡量算法性能的两个指标。

时间复杂度是指算法执行所需要的时间,通常用大O符号表示。

空间复杂度是指算法执行所需要的额外空间,通常也用大O符号表示。

它们都是描述算法随着输入规模增大而变化的趋势。

试题四:介绍一下常见的数据结构和相应的操作。

答案四:常见的数据结构有数组、链表、栈、队列、树和图等。

- 数组是一种线性数据结构,可以随机访问元素,并且在插入和删除元素时需要移动其他元素。

- 链表是一种动态数据结构,不需要固定的内存空间,但只能通过指针进行元素的访问。

- 栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除元素的操作。

- 队列是一种先进先出(FIFO)的数据结构,只能在队尾插入元素,在队头删除元素。

- 树是一种非线性数据结构,由节点和指向子节点的边组成。

常见的树有二叉树、二叉搜索树和AVL树等。

- 图是一种复杂的数据结构,由节点和边组成,可以表示各种关系。

数据结构与算法测试题+参考答案

数据结构与算法测试题+参考答案

数据结构与算法测试题+参考答案一、单选题(共80题,每题1分,共80分)1、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用什么存储方式最节省运算时间?A、仅有头指针的单循环链表B、双链表C、仅有尾指针的单循环链表D、单链表正确答案:C2、数据结构研究的内容是()。

A、数据的逻辑结构B、数据的存储结构C、建立在相应逻辑结构和存储结构上的算法D、包括以上三个方面正确答案:D3、下列关于无向连通图特征的叙述中,正确的是:所有顶点的度之和为偶数边数大于顶点个数减1至少有一个顶点的度为1A、只有1B、1和2C、1和3D、只有2正确答案:A4、下面的程序段违反了算法的()原则。

void sam(){ int n=2;while (n%2==0) n+=2;printf(“%d”,n);}A、确定性B、可行性C、有穷性D、健壮性正确答案:C5、对任意给定的含 n (n>2) 个字符的有限集 S,用二叉树表示 S 的哈夫曼编码集和定长编码集,分别得到二叉树 T1 和 T2。

下列叙述中,正确的是:A、出现频次不同的字符在 T2 中处于相同的层B、出现频次不同的字符在 T1 中处于不同的层C、T1 的高度大于 T2 的高度D、T1 与 T2 的结点数相同正确答案:A6、数据序列{ 3,2,4,9,8,11,6,20 }只能是下列哪种排序算法的两趟排序结果?A、快速排序B、选择排序C、插入排序D、冒泡排序正确答案:A7、设散列表的地址区间为[0,16],散列函数为H(Key)=Key%17。

采用线性探测法处理冲突,并将关键字序列{ 26,25,72,38,8,18,59 }依次存储到散列表中。

元素59存放在散列表中的地址是:A、11B、9C、10D、8正确答案:A8、采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是:A、每次划分后,先处理较短的分区可以减少递归次数B、递归次数与每次划分后得到的分区处理顺序无关C、递归次数与初始数据的排列次序无关D、每次划分后,先处理较长的分区可以减少递归次数正确答案:B9、以下数据结构中,()是非线性数据结构。

数据结构与算法单元测试题3及答案

数据结构与算法单元测试题3及答案

一、单选题1、一个具有n个顶点的有向图中,要连通全部顶点至少需要()条弧。

A.nB.n-1C.n+1D.2n正确答案:A2、对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则占用的存储空间为()。

A.n+2eB.2eC.nD.n+e正确答案:A3、如果含有n个顶点的图形成一个环,则它有()棵生成树。

A.不确定B.n-1C.nD.n+1正确答案:C4、关键路径是事件结点网络中()。

A.最短回路B.从源点到汇点的最短路径C.从源点到汇点的最长路径D.最长回路正确答案:C5、图G是一个非连通无向图,共有28条边,则该图至少有()个顶点。

A.11B.10C.9D.8正确答案:C6、已知一个图的邻接矩阵表示,删除所有从第i个顶点出发的弧方法是()。

A.将矩阵第i列删除,后序列左移B.将矩阵第i行上的元素全部置0C.将矩阵第i行删除,后序行上移D.将矩阵第i列上的元素全部置0正确答案:B7、连通分量是()的极大连通子图。

A.有向图B.无向图C.图D.树正确答案:B8、下面关于图的存储结构的叙述中正确的是()。

A.邻接表存储图,占用空间大小只与图中边数有关,而与顶点数无关B.用邻接矩阵存储图,占用空间大小只与图中边数有关,而与顶点数无关C.用邻接表存储图,占用空间大小只与图中顶点数有关,而与边数无关D.用邻接矩阵存储图,占用空间大小只与图中顶点数有关,而与边数无关正确答案:D9、下图中,度为3的结点是()。

A.V1B.V3C.V4D.V2正确答案:D10、如下图所示,从顶点a出发,按广度优先进行遍历,则可能得到的一种顶点序列为()。

A.a,b,e,c,d,fB.a,c,f,e,b,dC.a,e,d,f,c,bD.a,e,b,c,f,d正确答案:A11、具有12个关键字的有序表,折半查找的平均查找长度( )。

A.25B.25/12C.37/12D.10/12正确答案:C12、以下适合用分块查的数据集是()。

DS2015试题A

DS2015试题A

7
(2)设计一个算法判定带头结点的单链表是否为递增的。
8
7. List the order in which the edges of the following graph are visited when running Prim’s minimum-cost spanning tree (MST) algorithm starting at Vertex 6, show the final MST.
专业班级
学 号
2. For a binary tree T, the result of preorder traversal is ABDFCE, and the sequence of inorder traversal is BFDACE. (1) Drawing the binary tree. (2) Give the postorder traversal sequence of binary tree T.
5
得分
四、算法程序设计(第 1 题 10 分,第 2 题 20 分,共 30 分)
1、完成下述算法程序设计,在标有①-⑤处填写程序语句(每个标号处 2 分,共 10 分) (1)顺序表数据元素插入,在顺序表 L 的第 i 个位置上插入新的元素 e。 顺序表定义:typedef struct { int data[MaxSize]; int length; }SqList; int ListInsert(SqList * &L,int i,int e) { int j; if (i<1 || i>L->length+1) return 0; i--; for(j=L->length;j>I;j--) L->data[j]=___________________①; ________________________②; L->length++; return 1; } (2)顺序栈的进栈。 顺序栈定义:typedef struct { int data[MaxSize]; int top; }SqStack; 进栈: { int Puch(SqStack *s, int e) if (s->top==MaxSize-1) return 0; S->top++; ___________________③; return 1; } (3)用循环队列实现对二叉树的层次遍历算法。 设二叉树采用二叉链存储结构: void LevelOrder(BTNode *b) { BTNode *p; BTNode *qu[MaxSize]; int front, rear;

2015湖北省数据结构基础考试题库

2015湖北省数据结构基础考试题库

1、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。

A)n B)2e C)e D) n+e2、栈进行插入和删除操作的特点是( A )。

A)LIFO B)FIFOC)FCFS D)HPF3、线索二叉树中某结点D,没有左孩子的条件是( B )。

A)D->Lchild=Null B) D->ltag=1C) D->Rchild=Null D) D->ltag=04、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。

A)顺序表B)双链表C)带头结点的双循环链表 D)单循环链表5、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。

A)9 B)11 C)15 D)不能确定6、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。

A)3 B)4 C)5 D)17、栈进行插入和删除操作的特点是( A )。

A)LIFO B)FIFOC)FCFS D)HPF8、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。

A)p->next=p->next->next B)p=p->nextC)p=p->nexe->next D)p->next=p9、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。

A)3,2,5,6,4,1 B)1,5,4,6,2,3C)2,4,3,5,1,6 D)4,5,3,6,2,110、与无向图相关的术语有( C )。

A)强连通图 B)入度C)路径 D)弧11、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。

A)顺序表示法 B)单字符为结点的单链表表示法C)等量分块表示法 D)不等量分块表示法。

数据结构与算法笔试题及答案

数据结构与算法笔试题及答案

数据结构与算法笔试题及答案1. 问题:什么是栈?请列举栈的应用场景,并举例说明。

答案:栈是一种具有特定插入和删除操作限制的线性数据结构。

栈遵循先入后出(LIFO)原则,即最后插入的元素最先删除。

栈的应用场景包括:- 表达式求值示例:对于表达式"3 + 5 * 2",可以将每个运算符和操作数都压入栈中,按照运算符的优先级进行计算。

- 函数调用示例:函数调用时,每个函数的局部变量和返回地址都可以存储在栈中,在函数返回时再依次弹出。

- 撤销操作示例:在图像编辑软件中,每次对图像进行修改时,可以将修改前的图像状态存储在栈中,撤销操作时便可以弹出最近的状态。

- 括号匹配示例:可以使用栈来判断表达式中的括号是否匹配,每次遇到左括号时压入栈中,遇到右括号时弹出栈顶元素并进行匹配。

2. 问题:请简述二叉树的定义,并介绍二叉树的遍历方式。

答案:二叉树是一种特殊的树型结构,其中每个节点最多有两个子节点。

二叉树的遍历方式包括:- 前序遍历(pre-order traversal):首先访问根节点,然后递归地遍历左子树,最后递归地遍历右子树。

- 中序遍历(in-order traversal):首先递归地遍历左子树,然后访问根节点,最后递归地遍历右子树。

- 后序遍历(post-order traversal):首先递归地遍历左子树,然后递归地遍历右子树,最后访问根节点。

- 层序遍历(level-order traversal):从上到下逐层访问二叉树的节点,同一层的节点按照从左到右的顺序访问。

3. 问题:请说明堆排序的基本思想及实现步骤。

答案:堆排序是一种基于比较的排序算法,其基本思想是通过构建二叉堆(大顶堆或小顶堆),然后依次将堆顶元素与最后一个元素交换,并进行调整,使得剩余元素满足堆的性质。

实现步骤如下:1. 构建堆:从最后一个非叶子节点开始,依次向上调整每个子树,使得每个子树都满足堆的性质。

2. 排序:将堆顶元素与最后一个元素交换,然后对剩余元素进行调整,重复此过程直到排序完成。

数据结构与算法习题含参考答案

数据结构与算法习题含参考答案

数据结构与算法习题含参考答案一、单选题(共100题,每题1分,共100分)1、要为 Word 2010 格式的论文添加索引,如果索引项已经以表格形式保存在另一个 Word文档中,最快捷的操作方法是:A、在 Word 格式论文中,逐一标记索引项,然后插入索引B、直接将以表格形式保存在另一个 Word 文档中的索引项复制到 Word 格式论文中C、在 Word 格式论文中,使用自动插入索引功能,从另外保存 Word 索引项的文件中插D、在 Word 格式论文中,使用自动标记功能批量标记索引项,然后插入索引正确答案:D2、下面不属于计算机软件构成要素的是A、文档B、程序C、数据D、开发方法正确答案:D3、JAVA 属于:A、操作系统B、办公软件C、数据库系统D、计算机语言正确答案:D4、在 PowerPoint 演示文稿中,不可以使用的对象是:A、图片B、超链接C、视频D、书签第 6 组正确答案:D5、下列叙述中正确的是A、软件过程是软件开发过程和软件维护过程B、软件过程是软件开发过程C、软件过程是把输入转化为输出的一组彼此相关的资源和活动D、软件过程是软件维护过程正确答案:C6、在 Word 中,不能作为文本转换为表格的分隔符的是:A、@B、制表符C、段落标记D、##正确答案:D7、某企业为了建设一个可供客户在互联网上浏览的网站,需要申请一个:A、密码B、门牌号C、域名D、邮编正确答案:C8、面向对象方法中,将数据和操作置于对象的统一体中的实现方式是A、隐藏第 42 组B、抽象C、结合D、封装正确答案:D9、下面属于整数类 I 实例的是A、-919B、0.919C、919E+3D、919D-2正确答案:A10、定义课程的关系模式如下:Course (C#, Cn, Cr,prC1#, prC2#)(其属性分别为课程号、课程名、学分、先修课程号 1和先修课程号 2),并且不同课程可以同名,则该关系最高是A、BCNFB、2NFC、1NFD、3NF正确答案:A11、循环队列的存储空间为 Q(1:100),初始状态为 front=rear=100。

数据结构与算法试题及

数据结构与算法试题及

数据结构与算法试题及答案参考数据结构与算法试题及答案参考一、选择题1. 数据结构是研究什么的?A. 数据的结构和组织B. 数据的格式和排列C. 数据的读取和写入D. 数据的传输和存储正确答案:A2. 在数据结构中,栈(Stack)的特点是什么?A. 先进先出B. 先进后出C. 后进先出D. 后进后出正确答案:C3. 在链表中,结点的指针指向的是什么?A. 结点本身B. 结点的前一个结点C. 结点的后一个结点D. 结点的数据域正确答案:C4. 在二叉搜索树中,左子树的值都小于根节点,右子树的值都大于根节点。

这种特性被称为什么性质?A. 有序性B. 平衡性C. 完全性D. 二叉性正确答案:A二、填空题1. 算法的复杂度可以分为时间复杂度和________复杂度。

正确答案:空间2. 实现队列数据结构可以采用两个栈的方式,称为______队列。

正确答案:双栈3. 快速排序算法的时间复杂度为______。

正确答案:O(nlogn)三、编程题1. 请编写一个函数,实现对一个数组进行冒泡排序。

正确答案:```pythondef bubble_sort(arr):for i in range(len(arr) - 1):for j in range(len(arr) - 1 - i):if arr[j] > arr[j + 1]:arr[j], arr[j + 1] = arr[j + 1], arr[j]return arr```2. 请编写一个递归函数,计算斐波那契数列的第n项。

正确答案:```pythondef fibonacci(n):if n <= 1:return nelse:return fibonacci(n - 1) + fibonacci(n - 2)```四、简答题1. 请简单描述树和图的区别。

答:树是一种特殊的图,它是一个由节点和边组成的非线性数据结构,具有层级关系,且任意两个节点之间有且仅有一条路径相连。

2015湖北省计算机等级考试二级试题及答案

2015湖北省计算机等级考试二级试题及答案

1、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)A. 自顶向下B. 由底向上C. 由内向外D. 由整体到局部2、用树形结构来表示实体之间联系的模型称为(B)A. 关系模型B. 层次模型C. 网状模型D. 数据模型3、检查软件产品是否符合需求定义的过程称为(A)A. 确认测试B. 集成测试C. 验证测试D. 验收测试4、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记A. N+1B. NC. (N+1)/2D. N/25、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式6、下面不属于软件工程的3个要素的是(D)A. 工具B. 过程C. 方法D. 环境7、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是(A)A. 控制流B. 加工C. 数据存储D. 源和潭8、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记A. N+1B. NC. (N+1)/2D. N/29、算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间10、在下列选项中,哪个不是一个算法一般应该具有的基本特征(C)A. 确定性B. 可行性C. 无穷性D. 拥有足够的情报11、下面不属于软件工程的3个要素的是(D)A. 工具B. 过程C. 方法D. 环境12、下面对对象概念描述错误的是(A)A. 任何对象都必须有继承性B. 对象是属性和方法的封装体C. 对象间的通讯靠消息传递D. 操作是对象的动态性属性13、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C)等量分块表示法 D)不等量分块表示法
24、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
A) Head(Head(Tail(Tail(L))))
B) Tail(Head(Head(Tail(L))))
43、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。
A)front=front->next; B) rear=rear->next;
C) rear=front->next; D) front=rear->next ;
23、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法
for( i =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
C) O(m*n) D)O(1)
39、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A) 4 B)3 C)2 D)12
8、与无向图相关的术语有( C )。
A)强连通图 B)入度
C)路径 D)弧
9、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
27、下列序列中,执行第一趟快速排序后得到的序列是( A )。
A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]
C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]
28、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
A) 单链表 B) 仅有头指针的单循环链表
C) 双链表 D) 仅有尾指针的单循环链表
34、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。
C)p=p->next->next; D) p->next=p;
6、在数据结构中,从逻辑上可以把数据结构分为( C )。
A)动态结构和静态结构 B)紧凑结构和非紧凑结构
C)线性结构和非线性结构 D)内部结构和外部结构
7、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。
C) 3,2,5,4,1,6 D) 1,4,6,5,2,3
19、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e
20、已知栈的最大容量为4。若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
C) O(m*n) D)O(1)
17、数据结构中,在逻辑上可以把数据结构分成( B )。
A)动态结构和静态结构
32、队列的操作的原则是( A )。
A)先进先出 B) 后进先出
C) 只能进行插入 D) 只能进行删除
33、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
18、已知栈的最大容量为4。若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。
A) 5,4,3,2,1,6 B) 2,3,5,6,1,4
11、与无向图相关的术语有( C )。
A)强连通图 B)入度
C)路径 D)弧
12、下面程序段的时间复杂度是( A )。
s =0;
for( i =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
26、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
A)front=front->next; B) rear=rear->next;
C) rear=front->next; D) front=rear->next ;
A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值
40、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
41、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
42、下列各种数据结构中属于线性结构的有( A )。
A)栈 B) 二叉树
C) 广义表 D) 图
A) (G) B) (D) C) C D) D
14、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;
C)p->next=s->next; s->next=p D)p->next=s; s->next=q;
37、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A ) 。
15、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
16、下面程序段的时间复杂度是( A )。
s =0;
for( i =0; i<n; i++)
1、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
A)13 B)33 C)18 D)40
2、以下属于顺序存储结构优点的是( A )。
A) 存储密度大 B) 插入运算方便
A)top不变 B)top=0 C)top-- D)top++
29、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
30、队列的操作的原则是( A )。
A) (G) B) (D) C) C D) D
35、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
36、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A ) 。
p->next=p->next->next B)p=p->next
C)p=p->nexe->next D)p->next=p
5、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;
C)p->next=s->next; s->next=p D)p->next=s; s->next=q;
38、下面程序段的时间复杂度是( A )。
s =0;
A) 5,4,3,2,1,6 B) 2,3,5,6,1,4
C) 3,2,5,4,1,6 D) 1,4,6,5,2,3
21、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
22、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
sum = s ;
A) O(n2) B) O(n)
C) O(m*n) D)O(1)
13、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。
C) Head(Tail(Head(Tail(L))))
D)Head(Tail(Head(Tail(Tail(L)))))
25、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)1
C)删除运算方便 D)可方便地用于各种逻辑结构的存储表示
相关文档
最新文档