考研计算机-数据结构模拟试题

考研计算机-数据结构模拟试题
考研计算机-数据结构模拟试题

计算机数据结构模拟试题(一)

一.单项选择题:1~40题,每小题2分共80分。在每小题给出的四个选项中,请选出一项最符合题目要求的。

1.在一个单链表中,已知指针p指向其中的某个结点,若在该结点前插入一个由指针s 指向的结点,则需执行()。

A.s->next = p->next; p->next = s; B.p->next = s;

s->next = p;

C.r = p->next; p->next = s; s->next = r; D.仅靠已知条件无法实现

2.设顺序表长度为n,从表中删除元素的概率相等。则在平均情况下,从表中删除一个元素需要移动的元素个数是()。

A.(n?1)/2 B.n/2 C.n(n? 1)/2 D.n(n + 1)/2

3.在一个具有n个单元的顺序栈中,假定以高端(即第n?1单元)作为栈底,以top 为栈顶指针,则当作出栈运算时,top变化为()。

A.top不变B.top = 0 C.top-- D.top ++

4.若一个栈以向量V[n]存储,设栈空时,栈顶指针top为n?1,则下面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

5.经过以下栈运算后,x的值是()。

InitStack(s); Push(s, a); Push(s, b); Pop(s, x); Push(s, c); Pop(s, x);

GetTop(s, x);

A. a B.b C.c D.d

6.若一棵二叉树有126个节点,在第7层(根结点在第1层)的结点个数至多有()。

A.32 B.64 C.63 D.不存在第7层

7.具有n个顶点的有向图的边最多有()。

A.n B.n(n?1) C.n(n+1) D.n2

8.设连通图G的顶点数为n,则G的生成树的边数为()。

A.n B.n?1 C.2n D.2n?1

9.散列查找中k个关键字具有同一哈希值,若用线性探测法将这k个关键字对应的记录存入哈希表中,至少要进行()次探测。

A.k B.k + 1 C.k(k + 1)/2

D.1 + k(k + 1)/2

10.一组记录的关键字为(45,80,55,40,42,85),则利用堆排序的方法建立的初始

堆为()。

A.(80,45,55,40,42,85) B.(85,80,55,40,42,45)

C.(85,80,55,45,42,40) D.(85,55,80,42,45,40)

二、综合应用题:41-47小题,共70分

1.已知顺序表中有m个记录,表中记录不依关键字有序。编写算法为该顺序表建立一个有序的索引表,索引表中每一项应含有记录关键字和记录在顺序表中的序号,要求算法的时间复杂度在最好的情况下能达到O(m)。

2. 在二叉链表的每个结点中添加一个域int depth,表示以该结点为根的子树的深度,即:

typedef struct BiTNode { // 结点结构

TElemType data;

struct BiTNode *lchild, *rchild; // 左右孩子指针

int depth; // 以该结点为根的子树的深度

} BiTNode, * BiTree;

(1)试编写一递归函数BiTreeDepth ( BiTree T ),计算二叉树T中每个结点的depth 值,函数的返回值为树T的深度。

(2)在(1)的基础上(即已求出二叉树中每个结点的depth值),编写一递归函数BiTreeBalance ( BiTree T ),判断二叉排序树T是否为平衡二叉树,如果是平衡二叉树,则函数的返回值为真。

计算机数据结构模拟试题(一)参考答案

答案仅供参考

一、单项选择题:1~40题,每小题2分共80分。在每小题给出的四个选项中,请选出一项最符合题目要求的。

1.D

2.A

3.C

4.D

5.A

6.C

7.B

8.B

9.C 10.B

二、综合应用题:41-47小题,共70分

1.解答(参考算法):

索引表的类型定义如下:

typedef struct {

KeyType key; // 关键字

int id; // 对应记录在顺序表中的序号

}IndexType,IdxTable[MAXSIZE + 1];

顺序表类型定义如下:

typedef struct {

KeyType key;

} RedType ;

typedef struct{

RedType r[MAXSIZE + 1]; // r[0]闲置或用作哨兵单元

int length; // 顺序表长度

} SqList;

算法:

void createIdx( SqList L, IdxTable Idx )

{// 顺序表L中有m个记录,本算法为该顺序表建立一个有序的索引表,索引表中每一项包含记录

//的关键字和记录在顺序表中的序号两个数据项

Idx[1].key = L.r[1].key; Idx[1].id = 1;

for ( i=2; i<=m; i++ )

{ j = i-1;

while(j>0)&&(Idx[j].key> L.r[i].key)

{ Idx[j+1].key = Idx[j].key;

Idx[j+1].id = Idx[j].id;

j--;

}

Idx[j+1].key = L.r[i].key;

Idx[j+1].id = i;

}

}

试题分析:本题考查考生是否掌握直接插入排序算法的应用。算法的核心思想是借助于直接插入排序,将顺序表中各记录的关键字以及记录在顺序表的序号插入到索引表中。

2.(1)递归函数BiTreeDepth(BiTree T)如下。

int BiTreeDepth(BiTree T)

{ int ldepth, rdepth;

if ( ! T ) return 0;

ldepth = BiTreeDepth ( T->lchild );

rdepth = BiTreeDepth ( T->rchild );

if ( ldepth >= rdepth )

T->depth = ldepth+1;

else

T->depth = rdepth+1;

return T->depth;

}

(2)递归函数BiTreeBalance ( BiTree T )程序如下。

Status BiTreeBalance(BiTree T)

{ int ldepth, rdepth;

if ( T == NULL ) return TRUE;

if ( T->lchild )

ldepth = T->lchild->depth;

else

ldepth = 0;

if ( T->rchild )

rdepth = T->rchild->depth;

else

rdepth = 0;

lrdepth = ldepth – rdepth;

if ( ( lrdepth > 1 ) || ( lrdepth < -1 ) )

return FALSE;

if ( BiTreeBalance( T->lchild ) && BiTreeBalance( T->rchild ) ) return TRUE;

else

return FALSE;

}

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

第1章绪论 一、选择题 1. 算法的计算量的大小称为计算的()。【北京邮电大学2000 二、3 (20/8分)】 A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于()【中科院计算所 1998 二、1 (2分)】 A.问题的规模 B. 待处理数据的初态 C. A和B 3.计算机算法指的是(1),它必须具备(2)这三个特性。 (1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】 4.一个算法应该是()。【中山大学 1998 二、1(2分)】 A.程序 B.问题求解步骤的描述 C.要满足五个基本特性D.A和C. 5. 下面关于算法说法错误的是()【南京理工大学 2000 一、1(1.5分)】 A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的 6. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】 (1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为()两大类。【武汉交通科技大学 1996 一、4(2分)】 A.动态结构、静态结构 B.顺序结构、链式结构

最新考研计算机数据结构模拟试题及答案(五)

考研计算机数据结构模拟试题及答案(五) 一、选择题(30分) 1. 设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为( )。 (A) 20 (B) 30 (C) 40 (D) 45 2.执行一趟快速排序能够得到的序列是( )。 (A) [41,12,34,45,27] 55 [72,63] (B) [45,34,12,41] 55 [72,63,27] (C) [63,12,34,45,27] 55 [41,72] (D) [12,27,45,41] 55 [34,63,72] 3.设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是( )。 (A) head==0 (B) head->next==0 (C) head->next==head (D) head!=0 4.时间复杂度不受数据初始状态影响而恒为O(nlog2n)的是( )。 (A) 堆排序(B) 冒泡排序(C) 希尔排序(D) 快速排序 5.设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是( )。 (A) 空或只有一个结点(B) 高度等于其结点数 (C) 任一结点无左孩子(D) 任一结点无右孩子 6.一趟排序结束后不一定能够选出一个元素放在其最终位置上的

是( )。 (A) 堆排序(B) 冒泡排序(C) 快速排序(D) 希尔排序 7.设某棵三叉树中有40个结点,则该三叉树的最小高度为( )。 (A) 3 (B) 4 (C) 5 (D) 6 8.顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为( )。 (A) O(n) (B) O(n2) (C) O(n1/2) (D) O(1og2n) 9.二路归并排序的时间复杂度为( )。 (A) O(n) (B) O(n2) (C) O(nlog2n) (D) O(1og2n) 10. 深度为k的完全二叉树中最少有( )个结点。 (A) 2k-1-1 (B) 2k-1 (C) 2k-1+1 (D) 2k-1 11.设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为( )。 (A) front->next=s;front=s; (B) s->next=rear;rear=s; (C) rear->next=s;rear=s; (D) s->next=front;front=s; 12.设某无向图中有n个顶点e条边,则建立该图邻接表的时间复杂度为( )。 (A) O(n+e) (B) O(n2) (C) O(ne) (D) O(n3) 13.设某哈夫曼树中有199个结点,则该哈夫曼树中有( )个叶子结点。 (A) 99 (B) 100 (C) 101 (D) 102

最新考研计算机数据结构模拟试题及答案(二)

考研计算机数据结构模拟试题及答案(二) 一、选择题(30分) 1.下列程序段的时间复杂度为( )。 for(i=0; i (A) O(m*n*t) (B) O(m+n+t) (C) O(m+n*t) (D) O(m*t+n) 2.设顺序线性表中有n个数据元素,则删除表中第i个元素需要移动( )个元素。 (A) n-i (B) n+l -i (C) n-1-i (D) i 3.设F是由T1、T2和T3三棵树组成的森林,与F对应的二叉树为B,T1、T2和T3的结点数分别为N1、N2和N3,则二叉树B的根结点的左子树的结点数为( )。 (A) N1-1 (B) N2-1 (C) N2+N3 (D) N1+N3 4.利用直接插入排序法的思想建立一个有序线性表的时间复杂度为( )。 (A) O(n) (B) O(nlog2n) (C) O(n2) (D) O(1og2n) 5.设指针变量p指向双向链表中结点A,指针变量s指向被插入的结点X,则在结点A的后面插入结点X的操作序列为( )。 (A) p->right=s; s->left=p; p->right->left=s; s->right=p->right; (B) s->left=p;s->right=p->right;p->right=s; p->right->left=s; (C) p->right=s; p->right->left=s; s->left=p; s->right=p->right; (D) s->left=p;s->right=p->right;p->right->left=s; p->right=s; 6.下列各种排序算法中平均时间复杂度为O(n2)是( )。

计算机考研数据结构真题汇总

一.选择题篇 1. 算法的计算量的大小称为计算的()。【北京邮电大学2000 二、3 (20/8分)】 A.效率 B. 复杂性 C. 现实性 D. 难度 2. 算法的时间复杂度取决于()【中科院计算所 1998 二、1 (2分)】 A.问题的规模 B. 待处理数据的初态 C. A和B 3.计算机算法指的是(1)它必须具备(2)这三个特性。【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】 (1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 4.一个算法应该是()。【中山大学 1998 二、1(2分)】 A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C. 5. 下面关于算法说法错误的是()【南京理工大学 2000 一、1(1.5分)】 A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的 6. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】 (1)算法原地工作的含义是指不需要任何额外的辅助空间

(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为()两大类。【武汉交通科技大学 1996 一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 8.以下与数据的存储结构无关的术语是()。【北方交通大学 2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈 9.以下数据结构中,哪一个是线性结构()?【北方交通大学 2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串 10.以下那一个术语与数据的存储结构无关?()【北方交通大学 2001 一、2(2分)A.栈 B. 哈希表 C. 线索树 D. 双向链表 11.在下面的程序段中,对x的赋值语句的频度为()【北京工商大学 2001 一、10(3分)】FOR i:=1 TO n DO FOR j:=1 TO n DO x:=x+1; A. O(2n) B.O(n) C.O(n2) D.O(log2n)

北航 1999-2002 程序设计与数据结构考研试题

北航2002年程序设计与数据结构试题 一、简答题(10’) 1. 数据结构课程是计算机专业的基础课还是专业课,或者专业基础课?(2’) 2. 学习数据结构课程需要哪些课程作为它的基础(举例两门课程)?若没有这些知识,对学习数据 结构课程可能会产生哪些影响?请举例说明(不超过100字)。(4’) 3. 数据结构课程将为那些课程学习奠定必要的基础?请举例说明哪些课程(举例两门课程)用到了 数据结构课程的哪些知识(不超过100字)。(4’) 二、(5’) 请推导出结论:具有0n 个叶结点的哈夫曼树(Huffman )的分支总数为02(1)n -。 三、单项选择题(2’×15) 1. 线性链表中各链接点之间的地址________。 A. 必须连续 B. 部分地址必须连续 C. 不一定连续 D. 连续与否无所谓 2. 在非空线性链表中由p 所指的链接点后面插入一个由q 所致的链接点的过程是依次执行动作 ________。 A. link(q)←p; link(p)←q; B. link(q)←link(p); link(p)←q; C. link(q)←link(p); p ←q; D. link(p)←q; link(q)←p; 3. 在非空双向循环链表中由q 所指的那个链接点前插入一个p 指的链接点的动作对应的语句依次为 rlink(p)←q, llink(p)←llink(q), llink(q)←p, ________。(空白处为一条赋值语句) A. rlink(q)←p B. rlink(llink(q))←p C. rlink(llink(p))←p D. rlink(rlink(p))←p 4. 在初始为空的堆栈中依次插入元素f, e, d, c, b, a 以后,连续进行了三次删除操作,此时栈顶元素是 ________。 A. c B. d C. b D. e 5. 若某堆栈的输入序列为1, 2, 3, …, n ,输出序列的第1个元素为n ,则第i 个输出元素为________。 A. i B. n i - C. 1n i -+ D. 哪个元素无所谓 6. 求字符串T 在字符串S 中首次出现的位置的操作称为________。 A. 求串的长度 B. 求子串 C. 串的模式匹配 D. 串的连接 7. 若一棵度为7的树有8个度为1的结点,有7个度为2的结点,有6个度为3的结点,有5个度为 4的结点,有4个度为5的结点,有3个度为6的结点,有2个度为7的结点,该树一共有________个叶结点。 A. 35 B. 28 C. 77 D. 78 8. 若一棵二叉树有1001个结点,且无度为1的结点,则叶结点的个数为________。 A. 498 B. 499 C. 500 D. 501 9. 已知某完全二叉树采用顺序存储结构,结点数据信息的存放顺序依次为ABCDEFGH ,该完全二叉 树的后序遍历序列为________。

大数据结构考研真题及其问题详解

一、选择题 1. 算法的计算量的大小称为计算的( B )。【邮电大学2000 二、3 (20/8分)】 A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于(C )【中科院计算所 1998 二、1 (2分)】 A.问题的规模 B. 待处理数据的初态 C. A和B 3.计算机算法指的是(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)的算法在时间上总是优于复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低4 A.(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.栈

数据结构 考研真题精选

考研真题精选 一、选择题 1.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。 A.(n-1)/2 B. n/2 C. (n+1)/2 D. n 2. 对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( ) A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/2 3.顺序查找法适用于查找顺序存储或链式存储的线性表,平均比较次数为((1)),二分法查找只适用于查找顺序存储的有序表,平均比较次数为((2))。在此假定N为线性表中结点数,且每次查找都是成功的。 A.N+1 B.2log2N C.logN D.N/2 E.Nlog2N F.N2 4. 下面关于二分查找的叙述正确的是( ) A. 表必须有序,表可以顺序方式存储,也可以链表方式存储 C. 表必须有序,而且只能从小到大排列 B. 表必须有序且表中数据必须是整型,实型或字符型 D. 表必须有序,且表只能以顺序方式存储 5. 对线性表进行二分查找时,要求线性表必须() A.以顺序方式存储 B.以顺序方式存储,且数据元素有序 C.以链接方式存储 D.以链接方式存储,且数据元素有序 6.适用于折半查找的表的存储方式及元素排列要求为( ) A.链接方式存储,元素无序B.链接方式存储,元素有序 C.顺序方式存储,元素无序D.顺序方式存储,元素有序 7. 用二分(对半)查找表的元素的速度比用顺序法( ) A.必然快 B. 必然慢 C. 相等 D. 不能确定 8.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( ) A.必定快 B.不一定 C. 在大部分情况下要快 D. 取决于表递增还是递减 9. 具有12个关键字的有序表,折半查找的平均查找长度() A. 3.1 B. 4 C. 2.5 D. 5 10. 折半查找的时间复杂性为() A. O(n2) B. O(n) C. O(nlog n) D. O(log n) 11.当采用分快查找时,数据的组织方式为( ) A.数据分成若干块,每块内数据有序 B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块 C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块 D. 数据分成若干块,每块(除最后一块外)中数据个数需相同 12. 二叉查找树的查找效率与二叉树的( (1))有关, 在((2))时其查找效率最低 (1): A. 高度 B. 结点的多少 C. 树型 D. 结点的位置 (2): A. 结点太多 B. 完全二叉树 C. 呈单枝树 D. 结点太复杂。 13. 要进行顺序查找,则线性表(1);要进行折半查询,则线性表(2);若表中元素个数为n,则顺序查找的平均比较次数为(3);折半查找的平均比较次数为(4)。 (1)(2):A. 必须以顺序方式存储;B. 必须以链式方式存储;C. 既可以以顺序方式存

数据结构考研试题精选及答案第1章绪论

绪论 一、选择题 1.算法的计算量的大小称为计算的( 复杂性 A.效率 B. 2. 算法的时间复杂度取决于 A.问题的规模 3. 计算机算法指的是( (1) A .计算方法 法 (2) A .可执行性、 B. 1), B. 4. 5. )。【北京邮电大学 2000二、3 (20/8 C. 现实性 D. 难度 、1 (2 分)] ( )【中科院计算所1998 待处理数据的初态 它必须具备( 排序方法 C. A 和 B 这三个特性。 C. 解决问题的步骤序列 D. 分) 】 调度方 可移植性、可扩充性 B. 可执行性、确定性、有穷性 易读性、稳定性、安全性 、1 ( 4 C.确定性、有穷性、稳定性 【南京理工大学 1999 一、1 (2分) 一个 算法应该是( )。【中山大学 A .程序 B .问题求解步骤的描述 下面关于算法说法错误的是( A. 算法最终必须由计算机程序实现 B. 为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D.以上几个都是错误的 下面说法错误的是( )【南京理工大学 2000 一、2 (1.5分)] (1 ) (2) (3) (4) A . D. 【武汉交通科技大学 1996 1998 二、1 (2 分)】 C .要满足五个基本特性 D . A 和C. 分) 】 )【南京理工大学2000 一、1 (1.5分)】 )【南京理工大学 2000 算法原地工作的含义是指不需要任何额外的辅助空间 在相同的规模n 下,复杂度O(n)的算法在时间上总是优于复杂度 O(2n )的算法 所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 同一个算法,实现语言的级别越高,执行效率就越低 (1) B.(1),(2) 7.从逻辑上可以把数据结构分为 A.动态结构、静态结构 C.线性结构、非线性结构 &以下与数据的存储结构无关的术语是 A.循环队列 B. 链表 9.以下数据结构中,哪一个是线性结构 A.广义表 B. 二叉树 10 .以下那一个术语与数据的存储结构无关? A.栈 B. 11 .在下面的程序段中, 分)] 6. C.(1) ,(4) D.(3) ( )两大类。【武汉交通科技大学 1996 一、4 ( 2分)] B .顺序结构、链式结构 .初等结构、构造型结构 )。【北方交通大学 2000二、1 (2分)] 哈希表 D. 栈 )?【北方交通大学 2001 一、1 (2分)] 稀疏矩阵 ) 线索树 C. C. 哈希表 C. 对 x 的赋值语句的频度为( D.串 【北方交通大学2001 一、2 (2分)】 D. 双向链表 )【北京工商大学 2001 一、10 (3 FOR i:=1 FOR j:=1 x:=x+1; A. O(2 n) TO TO DO DO .0(n) 2 C . O(n) D .O(log 2n ) 12.程序段 FOR i:=n-1 DOWNTO 1 DO FOR j:=1 TO i DO

数据结构研究生入学考试模拟题(一)

哈尔滨工业大学 二〇〇八年硕士研究生考试模拟试题(一) 考试科目:计算机专业基础 适用专业:计算机科学与技术 I 数据结构(含高级语言)部分(共75分) 一、填空题(每空1分,共9分) +?++的后缀表达式 1.表达式23((12*32)/434*5/7)108/9 是。 2.设有一个10阶对称矩阵A采用压缩存储方式(以行为主序存储:a11=1),则a85 的地址为。 3.设有广义表A=(((a,b),x),((a),(b)),(c,(d,(y)))),得到y的对广义表 A的操作序列为。 4.如果二叉树有20个叶结点,有30个结点仅有一个孩子,则该二叉树的总节点数 为。 5.G是一个非连通无向图,共有28条边,则该图至少有个顶点。 6.构造n个结点的强联通图,至少有条弧。 7.设表长为1023的有序线性表,查找每个元素的概率相等,采用折半查找方法,查 找成功的ASL是。 8.分别采用堆排序、快速排序、冒泡排序和归并排序,对初太为有序的表,则最省时 间的是算法,最费时间的是算法。 二、单项选择题(每题1分,共11分) 1.静态链表中指针表示的是() A 下一元素的地址 B 内存储器的地址 C 下一元素在数组中的位置 D 左链或右链指向的元素的地址 2.计算算法的时间复杂度是属于一种() A 事前统计的方法 B 事前分析估算的方法 C 事后统计的方法 D 时候分析估算的方法 3.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3, 当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为() A 1和5 B 2和4 C 4和2 D 5和1 4.若6行5列的数组以列序为主序顺序存储,基地址为1000,每个元素占2个存储 单元,则第3行第4列的元素(假定无第0行第0列)的地址是() A 1040 B 1042 C 1026 D 都不正确 5.一棵124个叶节点的完全二叉树,最多有()个节点。

2017年青岛大学考研试题910数据结构

青岛大学2017年硕士研究生入学考试试题科目代码:910科目名称:数据结构(共5页) 请考生写明题号,将答案全部答在答题纸上,答在试卷上无效 一、单项选择题(本大题共10道小题,每小题2分,共20分) 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.以上都不对 7.由带权为{8,2,5,7}的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为()。 A.23B.37C.46D43 8.若从无向图的任意一个顶点出发进行一次深度优先搜索可以访问图中所有的顶点,则该图一定是()图。 A.非连通B.连通C.强连通D.有向 9.适用于折半查找的表的存储方式及元素排列要求为()。 A.链接方式存储,元素无序B.链接方式存储,元素有序 C.顺序方式存储,元素无序D.顺序方式存储,元素有序 10.对n个关键字作快速排序,在最坏情况下,算法的时间复杂度是()。 第1页,共5页

哈尔滨工程大学-考研数据结构真题-12_

哈尔滨工程大学-考研数据结构真题-12_ 哈尔滨工程大学试卷考试科目: 数据结构A 卷题号一二三四五总分分数评卷人一、单项选择题(每空1分,共15分)1、以下数据结构中,从逻辑结构看,()和其他数据结构不同。 A.树B.字符串C.队列D.栈2、对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为()。 A.O(n) O(n) B.O(n) O(1) C.O(1) O(n) D.O(1) O(1) 3、有六个元素A,B,C,D,E,F的顺序进栈,()不是合法的出栈序列。 A.DEFCBA B.EDCBFA C.EFDBCA D.EDCFBA 4、字符串“ABCDEF”的子串有()个。 A.19 B.20 C.21 D.22 5、顺序表中插入一个元素,需要平均移动的元素个数为()。 A.(n-1)/2 B.n/2 C.(n+1)/2 D.n-1 6、非空的单循环链表head 的尾结点(由P所指向)满足()。 A.p-next ==NULL B.p==NULL C.p-next==head D.p==head 7、若A是中序线索二叉树中的一个结点,且A不为根,则A的前驱为( )。 A.A的右子树中最右的结点B.A的左子树中最左的结点C.A 的右子树中最左的结点D.A的左子树中最右的结点8、如某二叉树有30个叶子结点,有20个结点仅有一个孩子,则该二叉树中有两个孩子的结点数为()。 A.29 B.30 C.31 D.19 9、二维数组A的每个元素是由8个字符组成的串,其行下标i=0,1,…,9,列下标j=1,2,…,10。若A按行序为主序存储,元素A的起始地址与当A按列序为主序存储时的元素()的起始地址相同(设每个字符占一个字节)。 A.A B.A C.A D.A 10、图的深度优先遍历算法类似于二叉树的()。

数据结构考研试题精选及答案第9章 查找答案

第9章集合 部分答案解释如下。 4.不能说哪种哈希函数的选取方法最好,各种选取方法有自己的适用范围。 8.哈希表的结点中可以包括指针,指向其元素。 11.单链表不能使用折半查找方法。 20.按插入后中序遍历是递增序列的原则,若某结点只有右子树,而插入元素的关键字小于该结点的关键字,则会插入到该结点的左侧,成为其左孩子。这种插入就不是插入到叶子下面。 21.从平衡因子定义看,完全二叉树任一结点的平衡因子的绝对值确实是小于等于1。但是,平衡二叉树本质上是二叉排序树,完全二叉树不一定是排序树。故不能说完全二叉树是平衡二叉树。 23.某结点的左子树根结点不一定是它的中序前驱,其右子树根结点也不一定是它的中序后继。 24.在等概率下,查找成功时的平均查找长度相同,查找失败时的平均查找长度不相同。26.只有被删除结点是叶子结点时命题才正确。 三.填空题 1.n n+1 2.4 3.6,9,11,12 4.5 5.26(第4层是叶子结点,每个结点两个关键字) 6.1,3,6,8,11,13,16,19 7.5,96 8.m-1,「m/2?-1 9.2,4,3 10.(1)哈希函数(2)解决冲突的方法 (3)选择好的哈希函数 (4)处理冲突的方法 (5)均匀(6)简单 11.AVL树(高度平衡树,高度平衡的二叉排序树),或为空二叉树,或二叉树中任意结点左子树高度与右子树高度差的绝对值小于等于1。 12.小于等于表长的最大素数或不包含小于20的质因子的合数 13.16 14.?㏒n」+1 2 15.(1)45 (2)45 (3)46(块内顺序查找) 16.k(k+1)/2 17.30,31.5(块内顺序查找) 18.(1)顺序存储或链式存储 (2)顺序存储且有序 (3)块内顺序存储,块间有序 (4) 散列存储

考研资料数据结构试题汇总

第一章绪论 一、填空题(每空1分,共33分) 1. 一个计算机系统包括硬件系统和软件系统两大部分。 2. 一台计算机中全部程序的集合,称为这台计算机的软件资源/(系统)。 3. 计算机软件可以分为系统软件和应用软件两大类。科学计算程序包属于应用软 件,诊断程序属于系统软件(工具)。 4. 一种用助忆符号来表示机器指令的操作符和操作数的语言是汇编语言。 5. 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。 6. 数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上的关系有限集合。 7. 数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。 8. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。 9. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。 10.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。 11. 在树形结构中,树根结点没有前驱结点,其余每个结点有且只有 1 个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点数可以任意多个。 12. 在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。 13.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和散列。 14. 数据的运算最常用的有5种,它们分别是插入、删除、修改、查找、排序。 15. 一个算法的效率可分为时间效率和空间效率。 16. 任何一个C程序都由一个主函数和若干个被调用的其它函数组成。 二、单项选择题(每小题1分,共15分) ( B ) 1. 通常所说的主机是指∶ A) CPU B) CPU和内存C) CPU、内存与外存D) CPU、内存与硬盘 ( C )2. 在计算机内部,一切信息的存取、处理和传送的形式是∶ A) ACSII码B) BCD码C)二进制D)十六进制 ( D )3. 软件与程序的区别是∶ A)程序价格便宜、软件价格昂贵; B)程序是用户自己编写的,而软件是由厂家提供的; C) 程序是用高级语言编写的,而软件是由机器语言编写的; D) 软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序只是软件的一部分。 ( C )4. 所谓“裸机”是指∶ A) 单片机B)单板机C) 不装备任何软件的计算机D) 只装备操作系统的计算机 ( D )5. 应用软件是指∶ A)所有能够使用的软件B) 能被各应用单位共同使用的某种软件 C)所有微机上都应使用的基本软件D) 专门为某一应用目的而编制的软件

数据结构模拟考研冲刺三套卷

第一部分 1.在一个单链表中,已知指针p 指向其中的某个结点,若在该结点前插入一个由指针s 指向的结点,则需执行()。 A.s->next = p->next; p->next = s; B.p->next = s; s->next = p; C. r = p->next; p->next = s; s->next = r; D.仅靠已知条件无法实现 2.设顺序表长度为n,从表中删除元素的概率相等。则在平均情况下,从表中删除一个元素需要移动 的元素个数是()。 A.(n?1)/2 B.n/2 C.n(n ? 1)/2 D.n(n + 1)/2 3.在一个具有n 个单元的顺序栈中,假定以高端(即第n?1 单元)作为栈底,以top 为栈顶指针,则当作出栈运算时,top 变化为()。 A.top 不变 B.top = 0 C.top-- D.top ++ 4.若一个栈以向量V[n]存储,设栈空时,栈顶指针top 为n?1,则下面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 5.经过以下栈运算后,x 的值是()。 InitStack(s); Push(s, a); Push(s, b); Pop(s, x); Push(s, c); Pop(s, x); GetTop(s, x); A. a B.b C.c D.d 6.若一棵二叉树有126 个节点,在第7 层(根结点在第1 层)的结点个数至多有()。 A.32 B.64 C.63 D.不存在第7 层 7.具有n 个顶点的有向图的边最多有()。 A.n B.n(n?1) C.n(n+1) D.n2 8.设连通图G 的顶点数为n,则G 的生成树的边数为()。 A.n B.n?1 C.2n D.2n?1 9.散列查找中k 个关键字具有同一哈希值,若用线性探测法将这k 个关键字对应的记录存入哈希表中,至少要进行()次探测。 A.k B.k + 1 C.k(k + 1)/2 D.1 + k(k + 1)/2 10.一组记录的关键字为(45,80,55,40,42,85)则利用堆排序的方法建立的初始堆为()。 A.(80,45,55,40,42,85) B.(85,80,55,40,42,45) C.(85,80,55,45,42,40) D.(85,55,80,42,45,40) 11. 假设某文件经内部排序得到100 个初始归并段,若要使多路归并三趟完成排序,则应取归并的路数至少为多少?()。 A.2 B.3 C.4 D.5 第二部分 1. 判断带头结点的线性链表L 是否为空的条件是()。 A.L.elem=NULL B.L.length = 0 C.L->next=NULL D.L = NULL 2. 设有多项式A 和B 的项数分别为m 和n ,均采用单链表表示,进行A 加B 运算的时间复杂度为()。 A.O(m )(当m>n 时) B.O(n)(当n>m 时) C.O(m + n) D.O(m *n) 3.若用一个大小为6 的数组来实现循环队列,且当前rear 和front 的值分别为0 和3。当从队列中删除一个元素,再加入两个元素后,rear 和front 的值分别为()。

数据结构考研模拟试题及详解(一)【圣才出品】

数据结构考研模拟试题及详解(一) 一、单项选择题(每小题2分,共20分) (1)设Huffman树的叶与节点数为m,则节点的点数为()。 A.2m B.2m-1 C.2m+l D.m+l 【答案】B 【解析】Huffman不存在一个分支的节点,对于任意的二叉树都有n0=n2+1,而n0=m,故推出Huffman的总结点数为m+m-1。 (2)若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储()个元素。 A.n B.n-1 C.n+l D.不确定 【答案】B 【解析】循环队列Q.rear==Q.front用来表示队列为空,而(Q.rear+1)%QueueMaxSize==Q.front来判断队列是否已满。也就是说循环队列需要一个额外的数据空间来表示循环队列已经存满的。所以最多只能存n-1。

(3)下述哪一条是顺序存储方式的优点?() A.存储密度大 B.插入和删除运算方便 C.获取符合某种条件的元素方便 D.查找运算速度快 【答案】A 【解析】因为顺序存储方式把分配给存储单元全用来存放结点数据,结点之间的逻辑关系没有占用额外的存储空间。所以相比链式存储方式同样大小的空间它可以存下更多的数据。 (4)设有一个二维数组A[m][n],假设A[0][0]存放位置在为 每个元素占一个空 间. A.658 B.648 C.633 D.653 【答案】D 【解析】根据二维数组地址计算公式LOC(A[i][j])=LOC(A[p][q])+((i?p)*n+(j?q))*t(t表示字节),把t=1、A[0][0]及A[3][3]代入得到n=25。故A[2][3]

考研计算机-数据结构模拟试题

计算机数据结构模拟试题(一) 一.单项选择题:1~40题,每小题2分共80分。在每小题给出的四个选项中,请选出一项最符合题目要求的。 1.在一个单链表中,已知指针p指向其中的某个结点,若在该结点前插入一个由指针s 指向的结点,则需执行()。 A.s->next = p->next; p->next = s; B.p->next = s; s->next = p; C.r = p->next; p->next = s; s->next = r; D.仅靠已知条件无法实现 2.设顺序表长度为n,从表中删除元素的概率相等。则在平均情况下,从表中删除一个元素需要移动的元素个数是()。 A.(n?1)/2 B.n/2 C.n(n? 1)/2 D.n(n + 1)/2 3.在一个具有n个单元的顺序栈中,假定以高端(即第n?1单元)作为栈底,以top 为栈顶指针,则当作出栈运算时,top变化为()。 A.top不变B.top = 0 C.top-- D.top ++ 4.若一个栈以向量V[n]存储,设栈空时,栈顶指针top为n?1,则下面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 5.经过以下栈运算后,x的值是()。 InitStack(s); Push(s, a); Push(s, b); Pop(s, x); Push(s, c); Pop(s, x); GetTop(s, x); A. a B.b C.c D.d 6.若一棵二叉树有126个节点,在第7层(根结点在第1层)的结点个数至多有()。 A.32 B.64 C.63 D.不存在第7层 7.具有n个顶点的有向图的边最多有()。 A.n B.n(n?1) C.n(n+1) D.n2 8.设连通图G的顶点数为n,则G的生成树的边数为()。 A.n B.n?1 C.2n D.2n?1 9.散列查找中k个关键字具有同一哈希值,若用线性探测法将这k个关键字对应的记录存入哈希表中,至少要进行()次探测。 A.k B.k + 1 C.k(k + 1)/2 D.1 + k(k + 1)/2 10.一组记录的关键字为(45,80,55,40,42,85),则利用堆排序的方法建立的初始

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

一、选择题 1.算法的计算量的大小称为计算的(B)。【北京邮电大学2000二、3(20/8分)】 A.效率B.复杂性C.现实性D.难度 2.算法的时间复杂度取决于(C)【中科院计算所1998 二、1(2分)】 A.问题的规模B.待处理数据的初态和B 3.计算机算法指的是(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(分)】 A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C.算法的可行性是指指令不能有二义性 D.以上几个都是错误的 6.下面说法错误的是(C)【南京理工大学2000一、2(分)】 (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执

行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低4 A.(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分)】

2017年北京邮电大学数据结构考研题

2017年北京邮电大学数据结构考研题 一、选择 1、在数据结构中,与计算机无关的数据称为___________;单链表是一种______存储结构 的线性表,适合于______查找。 2、二叉树最常用的__________是二叉链表。 3、一棵二叉树的前序遍历是FCABED,中序遍历是ACBFED,则后序遍历是_________。 4、设树的度为5,其中度为1~5的结点数分别为6、 5、4、3、2个,则该树共有_______ 个叶子。 5、11个顶点的无向图,最多能有_______条边。 6、某索引顺序表共有元素275个,平均分成5块。若先对索引表采用顺序查找,再对块 中元素进行顺序查找,则等概率情况下,分块查找成功的平均查找长度是________。 7、交换排序适用于________存储结构的表。 8、由A~F六个字母构成的堆序列是______ (1) 9 (2) 28 (3) 31 (4) 36 (5) 50 (6) 51 (7) 55 (8) 110 (9) 138 (10) 逻辑结构(11) 存储结构(12) 顺序 (13) 链式(14) DBCAEF (15) ABCDEF (16) ABCEDF (17) BACDEF 二、判断 1、抽象数据类型与计算机内部表示和实现无关; 2、线性表的插入和删除总是伴随着大量数据的移动; 3、队列在程序调用是必不可少,因此递归离不开队列; 4、字符串’aababaaaba’的改进函数nextval数组值是0020200320; 5、二叉树中有双子女的父结点,在中序遍历中后继一定是其中一个子女结点; 6、不用递归就不能实现二叉树的前序遍历; 7、若有向图有n个顶点,则其强连通分量最多有n个; 8、平衡二叉树一定是一棵完全二叉树; 9、若某内部排序算法不稳定,则该算法没有使用价值; 10、倒排文件的目的是为了多关键字查找; 三、已知一组关键字为(112,213,305,46,57,86,72,162,95),用散列表函数H(k)=k%10将它们散列到表HT(0..9)中,用线性探测法H(k),H(k)+1,……,H(k)-1解决冲突,画出最后的散列表,并计算产生冲突的次数。 四、简述Prim和Kruskal算法求最小生成树的算法思想,分析他们的时间复杂度及分别适用于什么样的网 五、算法 1、阅读下面的程序,根据输入写出输出结果 #include “iostream.h” viod swap(int &x, int &y) {

严蔚敏《数据结构》(第2版)配套模拟试题及详解(一)【圣才出品】

严蔚敏《数据结构》(第2版)配套模拟试题及详解(一) 一、单项选择题(每小题2分,共20分) 1.设Huffman树的叶与节点数为m,则节点的点数为()。 A.2m B.2m-1 C.2m+1 D.m+1 【答案】B 【解析】Huffman不存在一个分支的节点,对于任意的二叉树都有n0=n2+1,而n0 =m,故推出Huffman的总结点数为m+m-1。 2.若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储()个元素。 A.n B.n-1 C.n+l D.不确定 【答案】B 【解析】循环队列Q.rear==Q.front用来表示队列为空,而 (Q.rear+1.%QueueMaxSize == Q.front来判断队列是否已满。也就是说循环队列需要一个额外的数据空间来表示循环队列已经存满的。所以最多只能存n-1。 3.下述哪一条是顺序存储方式的优点?() A.存储密度大B.插入和删除运算方便 C.获取符合某种条件的元素方便D.查找运算速度快 【答案】A 【解析】因为顺序存储方式把分配给存储单元全用来存放结点数据,结点之间的逻辑

数据。 4.设有一个二维数组A[m][n],假设A[0][0]存放位置在为 每个元素占一个空间. A.658 B.648 C.633 D.653 【答案】D 【解析】根据二维数组地址计算公式LOC(A[i][j])= LOC(A[p][q])+ ((i ?p)* n + (j ? q))* t(t表示字节),把t=1、A[0][0]及 A[3][3]代入得到n = 25。故A[2][3] = A[0][0]+(2*25+3.*1 = 653。 5.下列关于二叉树遍历的叙述中,正确的是()。 A.若一个树叶是某二叉树的中序遍历的最后一个节点,则它必是该二叉树的前序遍历最后一个节点 B.若一个节点是某二叉树的前序遍历最后一个节点,则它必是该二叉树的中序遍历的最后一个节点 C.若一个节点是菜二叉树的中序遍历的最后一个节点,则它必是该二叉树的前序最后一个节点 D.若一个树叶是某二叉树的前序遍历的最后一个节点,则它必是该二叉树的中序遍历最后一个节点

相关文档
最新文档