云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构试卷及答案

数据结构试卷及答案

  • 62 次阅读
  • 3 次下载
  • 2025/6/13 17:05:05

12. 设有向图G中的有向边的集合E={<1,2>,<2,3>,<1,4>,<4,5>,<5,3>,<4,6>,<6,5>},则该图的一个拓扑序列为【124653】。

13. 下面程序段的功能是建立二叉树的算法,请在下划线处填上正确的内容。

typedef struct node {

int data;

struct node *lchild; 【struct node *rchild】; }bitree;

void createbitree(bitree *&bt) {

scanf(“%c”,&ch); if(ch=='#')

【bt=0】; else {

bt=(bitree*)malloc(sizeof(bitree));

bt->data=ch; 【createbitree(bt->lchild)】; createbitree(bt->rchild); } }

14. 下面程序段的功能是利用从尾部插入的方法建立单链表的算法,请在下划线处填上正确的内容。

typedef struct node {

int data;

struct node *next; } lklist;

void lklistcreate(【lklist】 *&head ) {

for (i=1;i<=n;i++)

{

p=(lklist *)malloc(sizeof(lklist)); scanf(“%d”,&(p->data)); p->next=0; if(i==1)

head=q=p; else {

q->next=p; 【q=p】; } } }

1. 4,10 2. 3. 4. 5.

O(nlog2n),O(n2) n 1,2

n(m-1)+1

6. q->next

7. 线性结构,树型结构,图型结构 8. O(n2), O(n+e) 9. 8/3

10. (38,13,27,10,65,76,97) 11. (10,13,27,76,65,97,38) 12. 124653

13. struct node *rchild,bt=0,createbitree(bt->lchild) 14. lklist,q=p

1. 设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为【F =(F+1) % m;】。 2. 设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为【O(n)】,在链式存储结构上实现顺序查找的平均时间复杂度为【O(n)】。 3. 设一棵二叉树中有n个结点,则当用二叉链表作为其存储结构时,该二叉链表中共有【2n】个指针域,【n+1】个空指针域。

4. 设指针变量p指向单链表中结点A,指针变量s指向被插入的结点B,则在结点A的后面插入结点B的操作序列为【s->next=p->next; s->next=s】。 5. 设无向图G中有n个顶点和e条边,则其对应的邻接表中有【n】个表头结点和【2e】个表结点。 6. 设无向图G中有n个顶点e条边,所有顶点的度数之和为m,则e和m有【m=2e】关系。 7. 设一棵二叉树的前序遍历序列和中序遍历序列均为ABC,则该二叉树的后序遍历序列为【CBA】。 8. 设一棵完全二叉树中有21个结点,如果按照从上到下、从左到右的顺序从1开始顺序编号,则编号为8的双亲结点的编号是【4】,编号为8的左孩子结点的编号是【16】。 9. 下列程序段的功能实现子串t在主串s中位置的算法,要求在下划线处填上正确语句。 int index(char s[ ], char t[ ]) {

i=j=0;

while(i

10. 设一个连通图G中有n个顶点e条边,则其最小生成树上有【n-1】条边。

1. (F+1) % m 2. O(n),O(n)

3. 2n,n+1

4. s->next=p->next; s->next=s 5. n, 2e

6. m=2e 7. CBA 8. 4,16 9. i-j+1,0 10. n-1

1. 为了能有效地应用HASH查找技术,必须解决的两个问题是【构造一个好的HASH函数】和【确定解决冲突的方法】。 2. 下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。 typedef struct {int s[100]; int top;} sqstack; void push(sqstack &stack,int x)

{

if (stack.top==m-1) printf(“overflow”);

else {【stack.top++】; 【stack.s[stack.top]=x】;} }

3. 中序遍历二叉排序树所得到的序列是【有序】序列(填有序或无序)。 4. 快速排序的最坏时间复杂度为【O(n2)】,平均时间复杂度为【O(nlog2n)】。

5. 设某棵二叉树中度数为0的结点数为N0,度数为1的结点数为N1,则该二叉树中度数为2的结点数为【N0-1】;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有【2N0+N1】个空指针域。

6. 设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则e=【d/2】。

7. 设一组初始记录关键字序列为(55,63,44,38,75,80,31,56),则利用筛选法建立的初始堆为【(31,38,54,56,75,80,55,63)】。

8. 设某无向图G的邻接表为,则从顶点V1开始的深度优先遍历序列为【(1,3,4,2)】;广度优先遍历序列为【(1,3,2,4)】。

1. 构造一个好的HASH函数,确定解决冲突的方法 2. stack.top++,stack.s[stack.top]=x 3. 有序

4. O(n2),O(nlog2n) 5. N0-1,2N0+N1

6. d/2

7. (31,38,54,56,75,80,55,63) 8. (1,3,4,2),(1,3,2,4)

计算题

1. 在如下数组A中链接存储了一个线性表,表头指针为A [0].next,试写出该线性表。 A 0 1 2 3 4 5 6 7

data next 3

2. 请画出下图的邻接矩阵和邻接表

3. 已知一个图的顶点集V和边集E分别为:

V={1,2,3,4,5,6,7};

E={(1,2)3, (1,3)5, (1,4)8,,(2,5)10,(2,3)6,(3,4)15,(3,5)12,(3,6)9,(4,6)4,

(4,7)20,(5,6)18,(6,7)25};

用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边。

4. 画出向小根堆中加入数据4, 2, 5, 8, 3时,每加入一个数据后堆的变化。

1. 线性表为:(78,50,40,60,34,90)

?0?1?12. 邻接矩阵: ???1

??060 5 50 7 78 2 90 0 34 4 40 1

101011101110101

0??1?1??1?0??

邻接表:

3. 用克鲁斯卡尔算法得到的最小生成树为:

(1,2)3, (4,6)4, (1,3)5, (1,4)8, (2,5)10, (4,7)20

搜索更多关于: 数据结构试卷及答案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

12. 设有向图G中的有向边的集合E={,,,,,,},则该图的一个拓扑序列为【124653】。 13. 下面程序段的功能是建立二叉树的算法,请在下划线处填上正确的内容。 typedef struct node { int data; struct node *lchild; 【struct node *rchild】; }bitree; void createbitree(bitree *&bt) { scanf(“%c”,&ch); if(ch=='#') 【bt=0】; else { bt=(bitree*)malloc(sizeof(bitree)); bt->data=ch;

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com