2015贵州省数据结构与算法最新考试试题库

合集下载

2015贵州大学831计算机考研真题

2015贵州大学831计算机考研真题
2、读下面程序,写出程序的输出结果 #include<stdio.h> void main() { int x; x = try(6); printf(“%d\n”,x); } int try(int n) { if(n>0) return (n*try(n-2)); else return (1); } 程序运行的结果为:
A、占据同一内存单元
B、指向同一内存单元地址或者为空
C、是两个空指针
D、都没有指向
14、函数返回值的类型是由( )。
A、return 语句中的表达式类型所决定。
B、调用该函数时的主调函数类型所决定。
C、调用该函数时系统临时决定。
D、在定义该函数时所指定的函数类型所决定。
15、在 C 语言中,若有定义”int a[10];”,则下列哪一项不能表示 a[1]的地址( )。
A、&a[1]
B、&a[0]+1 C、a++
D、a+1
16、以下数据结构中哪一个是非线性结构( )。
A、队列
B、栈
C、线性表
D、二叉树
17、下面关于线性表的叙述错误的是( )。
A、线性表采用顺序存储必须占用一片连续的存储空间。
B、线性表采用链式存储不必占用一片连续的存储空间
C、线性表采用链式存储便于插入和删除操作的实现
3、读下面程序,写出程序的输出结果。 #include<stdio.h> void main() { int I,j,a[2][3]; for(i=0;i<2;i++)
第 5 页 共 10 页
{ for(j=0;j<3;j++) { a[i][j]=2*i+j; printf(“%d”,a[i][j]); } printf(“\n”);

2015贵州省数据结构与算法最新考试试题库(完整版)

2015贵州省数据结构与算法最新考试试题库(完整版)
C) O(m*n) D)O(1)
6、队列的操作的原则是( A )。
A)先进先出 B) 后进先出
C) 只能进行插入 D) 只能进行删除
7、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
C)只有一部分,存储表示结点间关系的指针
D)分两部分,一部分存放结点值,另一部分存放结点所占单元数
18、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
A) hs->next=s; B) s->next=hs->next; hs->next=s;
C)部分地址必须是连续 D)必须是不连续的
15、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
16、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
40、队列的操作的原则是( A )。
A)先进先出 B) 后进先出
C) 只能进行插入 D) 只能进行删除
41、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A ) 。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;
A)9 B)11 C)15 D)不能确定
36、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A) 单链表 B) 仅有头指针的单循环链表

2015年贵州省数据结构(C++)试题及答案

2015年贵州省数据结构(C++)试题及答案
1、对于图1所示的二叉树,其后序序列为(C )。
A)ABDECFG B)DBEAFCG
C)DEBFGCA D)GFCEBDA
2、如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用 B 。
A.只有表头指针没有表尾指针的循环单链表
11、当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。
A.整形 B.引用型
C.指针型 D.常值引用型?
12、下述排序方法中,时间性能和待排序记录的初始状态无关的是( )
A.整形 B.引用型
C.指针型 D.常值引用型?
18、在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。
A. HL=ps p一>next=HL
B. p一>next=HL;HL=p3
C. p一>next=Hl;p=HL;
C.非循环双链表
D.循环双链表
30、向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
ห้องสมุดไป่ตู้ A.O(n) B.O(1)
C.O(n2) D.O(10g2n)
31、算法分析的目的是 C ,算法分析的两个主要方面是 A 。
(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系
A.{25,51,66,82,98,108}
B.{25,51,66,98,82,108}
C.{51,25,66,108,98,82}
D.{51,25,66,82,98,108}
39、在决定选取何种存储结构时,一般不考虑 A 。

2015年贵州省学习数据库加强

2015年贵州省学习数据库加强
{edge[0]=edge[i]; j=i-1;
while (edge[j].w<edge[0].w) edge[j+1]=edge[j--];
edge[j+1]=edge[0]; }//for
k=1; eg=e;
while (eg>=n) //破圈,直到边数e=n-1.
27. (1)*ppos // 根结点 (2)rpos=ipos (3)rpos–ipos (4)ipos (5)ppos+1
7、给出折半查找的递归算法,并给出算法时间复杂度性分析。
8、设有一组初始记录关键字序列(K1,K2,…,Kn),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于Ki,右半部分的每个关键字均大于等于Ki。
{s=(LinkedList)malloc(sizeof(LNode));
s->data=A[i]; pre->next=s; s->next=p;//将结点s链入链表中
}
}//for
return(h);
}算法结束
14、数组A和B的元素分别有序,欲将两数组合并到C数组,使C仍有序,应将A和B拷贝到C,只要注意A和B数组指针的使用,以及正确处理一数组读完数据后将另一数组余下元素复制到C中即可。
{ s=delqueue(Q); father=s.f;
for (i=s.l; i<=s.h; i++)
if (in[i]==level[s.lvl]) break;
p=(bitreptr)malloc(sizeof(binode)); //申请结点空间
}

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,则通过栈的作用后可以得到的输出序列为( )。

数据结构与算法试题

数据结构与算法试题

数据结构与算法试题题目一:栈与队列1.1 栈的定义和基本操作栈是一种先进后出的数据结构,可以通过push操作将元素入栈,通过pop操作将栈顶元素出栈。

请问如何实现一个栈,并给出相关的操作函数和实例演示。

1.2 队列的定义和基本操作队列是一种先进先出的数据结构,可以通过enqueue操作将元素入队,通过dequeue操作将队首元素出队。

请问如何实现一个队列,并给出相关的操作函数和实例演示。

题目二:排序算法2.1 冒泡排序冒泡排序是一种简单的排序算法,它重复地遍历要排序的元素,依次比较相邻的两个元素,并按照大小进行交换。

请问如何实现冒泡排序,给出时间复杂度和空间复杂度。

2.2 快速排序快速排序是一种常用的排序算法,它采用分治的思想,将数组分割成两个子数组,然后递归地对子数组进行排序。

请问如何实现快速排序,给出时间复杂度和空间复杂度。

题目三:查找算法3.1 二分查找二分查找是一种常见的查找算法,它要求查找的序列是有序的。

请问如何实现二分查找,给出时间复杂度和空间复杂度。

3.2 哈希表查找哈希表是一种高效的查找数据结构,通过将关键字映射到特定的位置来进行查找。

请问如何实现哈希表查找,给出时间复杂度和空间复杂度。

题目四:图算法4.1 图的定义和表示图是由节点和边构成的一种数据结构,可以用邻接矩阵或邻接表来表示。

请问如何定义和表示一个图,给出相关的数据结构和实例演示。

4.2 深度优先搜索和广度优先搜索深度优先搜索和广度优先搜索是常用的图算法,用于遍历图中的所有节点。

请问如何实现深度优先搜索和广度优先搜索,给出相应的算法和实例演示。

总结:在本文中,我们介绍了数据结构与算法中的一些常见题目,包括栈与队列、排序算法、查找算法以及图算法。

我们讨论了它们的定义、基本操作、实现方法以及相应的时间复杂度和空间复杂度。

这些内容对于理解和掌握数据结构与算法有着重要的意义,希望能够对读者有所帮助。

2015贵州省分析数据库的考试题目基础

2015贵州省分析数据库的考试题目基础

1、给定n个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i和j用边连接,边上的Wij表示这条道路的长度,现在要从这n个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院的路程最短?试设计一个解答上述问题的算法,并应用该算法解答如图所示的实例。

20分void Hospital(AdjMatrix w,int n)//在以邻接带权矩阵表示的n个村庄中,求医院建在何处,使离医院最远的村庄到医院的路径最短。

{for (k=1;k<=n;k++) //求任意两顶点间的最短路径for (i=1;i<=n;i++)for (j=1;j<=n;j++)if (w[i][k]+w[k][j]<w[i][j]) w[i][j]=w[i][k]+w[k][j];m=MAXINT; //设定m为机器内最大整数。

for (i=1;i<=n;i++) //求最长路径中最短的一条。

{s=0;for (j=1;j<=n;j++) //求从某村庄i(1<=i<=n)到其它村庄的最长路径。

if (w[i][j]>s) s=w[i][j];if (s<=m) {m=s; k=i;}//在最长路径中,取最短的一条。

m记最长路径,k记出发顶点的下标。

Printf(“医院应建在%d村庄,到医院距离为%d\n”,i,m);}//for}//算法结束对以上实例模拟的过程略。

各行中最大数依次是9,9,6,7,9,9。

这几个最大数中最小者为6,故医院应建在第三个村庄中,离医院最远的村庄到医院的距离是6。

1、对图1所示的连通网G,请用Prim算法构造其最小生成树(每选取一条边画一个图)。

2、对一般二叉树,仅根据一个先序、中序、后序遍历,不能确定另一个遍历序列。

但对于满二叉树,任一结点的左右子树均含有数量相等的结点,根据此性质,可将任一遍历序列转为另一遍历序列(即任一遍历序列均可确定一棵二叉树)。

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}是否为堆?若不是,请将其调整为最小堆,并统计建堆过程中的交换次数。

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

1、( C )在进行插入操作时,常产生假溢出现象。

A)顺序栈 B)循环队列
C)顺序队列 D)链队列
2、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。

A)顺序表B)双链表C)带头结点的双循环链表 D)单循环链表
3、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。

A)顺序表B)双链表C)带头结点的双循环链表 D)单循环链表
4、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A )。

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;
5、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。

A)p->next=p->next->next; B) p=p->next;
C)p=p->next->next; D) p->next=p;
6、采用链结构存储线性表时,其地址( B )。

A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
7、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。

A)n B)2e C)e D) n+e
8、串的逻辑结构与( D )的逻辑结构不相同。

A)线性表 B)栈
C)队列 D)集合
9、下面关于线性表的叙述中,错误的是哪一个?( D )
A)线性表采用顺序存储,必须占用一片连续的存储单元。

B)线性表采用链接存储,便于插入和删除操作。

C)线性表采用链接存储,不必占用一片连续的存储单元。

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

10、下面关于线性表的叙述中,错误的是哪一个?( D )
A)线性表采用顺序存储,必须占用一片连续的存储单元。

B)线性表采用链接存储,便于插入和删除操作。

C)线性表采用链接存储,不必占用一片连续的存储单元。

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

11、数据结构研究的内容是( D )。

A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
12、线性表的链接实现有利于( A )运算。

A)插入 B)读元素
C)查找 D)定位。

相关文档
最新文档