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

当前位置:首页 > 数据结构习题1

数据结构习题1

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 9:16:38

6、在一个具有n个顶点的有向完全图中,包含有 条边。 7、广义表((a),a)的表尾是 。

8、 设哈希(散列)表表长为15(哈希地址为0~14),哈希函数为H(key)=key,冲突处理采用线性探测Hi=(H(key)+1),则将一列数15,20,26,30,35,40存储该哈希表,元素40的哈希地址为______________________。

9、表长为n的顺序存储的线性表,当在任何位置上删除一个元素的概率相等时,删除一个元素需移动元素的平均次数为___ __。

10、常用查找算法有顺序查找、二分查找、分块查找,这三种查找的时间效率由低到高的排列顺序为________________。

三、简答题(本题共4小题,每小题5分,满分20分

1、给定权值2,10,12,4,8,5,构造相应的哈夫曼树并求出带权路径长度WPL。

2、设某二叉树中序遍历序列为ABCDEFG,后序遍历序列为BDCAFGE,请画出这棵二叉树并写出先序遍历序列和层次遍历序列。

3、写出用快速排序将关键字序列{44,13,79,38,54,40,15,80,24}排序过程(第一记录关键字为基准)的每一趟结果。

4、已知某有向图的邻接表如下图,顶点集合为{V1,V2,V3,V4,V5,V6 },请完成 (1)画出该有向图;

(2)写出该有向图从V1开始的所有可能的拓扑排序序列。 0 1 2 3 4 5

V1 V2 V3 V4 ^ V5 V6 1 2 3 5 3 ^ ^ ^ ^ 1

^

四、算法完成题:根据算法思想,在下列每小题的所给横线上填上合适的语句或短语。(本题两小题共8个空,每空2分,满分16分)

1、下面是二分法(折半)查找算法。在给定有序(从小到大)的顺序表中,查找关键字值为k的记录,若找到,返回记录下标,否则返回-1。 typedef int KeyType; typedef struct

{ KeyType key; /*存放关键字*/

40

ElemType data; /*其他数据, */

} LineList;

int BinSearch(LineList R[],int n,KeyType k) { int i,low=0,high=n-1,mid; while ( ) { mid=(low+high)/2;

if (kR[mid].key) low= ; else return mid;

}

; }

2、下面是利用队列对二叉树进行从上往下,从左往右的层次遍历算法。 #define max 50 typedef struct btnode { char data;

struct btnode *lchild,*rchild; }bttree;

void lev_order(bttree *bt,int m) { bttree *queue[max], bttree *p; int front=0,rear=0,i;

queue[ ]=bt; /*根结点进队*/ while( ) /*当队不空时*/ { p=queue[front]; front= ; printf(\ \ if(p->lchild!=NULL)

{ if((rear+1)%m!=front) /*队不满时*/ { queue[rear]=p->lchild;

rear=(rear+1)%m;

} }

if(p->rchild!= ) { if((rear+1)%m!=front) { queue[rear]=p->rchild;

rear=(rear+1)%m; } } }

41

}

五、算法设计题(本题共3小题,每小题8分,满分24分)

1、设计一个算法,功能是在带头结点的单链表head中删除数据域值最小的结点。 typedef int ElemType; typedef struct NODE { ElemType data; struct NODE *next; }node,*linklist;

2、 二叉树采用链式存储结构,结构定义如下,试设计一个递归算法计算一棵给定二叉树的

叶子结点数。 t ypedef struct BTNode {ElemType data;

3、已知有向图用邻接表为存储结构(如下),设计一算法计算有向图每一顶点的度的算法。

typedef struct arcnode

{ int adjvex;

struct arcnode *nextarc; }ARCNODE;

typedef struct vnode {char data[10];

ARCNODE *firstarc; }VNODE,ADJLIST[10]; typedef struct

{ ADJLIST vertices; int vexnum,arcnum; int digraph; }ALGRAPH;

struct BiTNode *lchild, *rchild; }BTNode, *BTtree;

参考答案

一、选择题:(本题共10小题,每小题2分,满分20分)

1、B 2、A 3、D 4、C 5、C 6、B 7、A 8、D 9、B 10、A

二、填空题:(本题共10小题,每小题2分,满分20分)

1、空间复杂度 2、p->next

3、一端删除,另一端插入(或先进先出或FIFO)。

42

4、2195 5、2i 6、n(n-1) 7 (a)

8、7 9、(n-1)/2 10、顺序查找、分块查找、二分查找

三、简答题(本题共4小题,每小题5分,满分20分

1、给定权值2,10,12,4,8,5,构造相应的哈夫曼树并求出带权路径长度wpl。 (2+4)*4+5*3+(8+12+10)*2=99

2、设某二叉树中序遍历序列为ABCDEFG,后序遍历序列为BDCAFGE,请画出这棵二叉树并写出先序遍历序列和层次遍历序列。

先序:EACBDGF 层次:EAGCFBD

3、写出用快速排序将关键字序列{44,13,79,38,54,40,15,80,24}排序过程(第一记录关键字为基准)的每一趟结果。

第一趟:24 13 15 38 40 44 54 80 79 第二趟:15 13 24 38 40 44 54 80 79 第三趟:13 15 24 38 40 44 54 79 80.

4、已知一有向图的邻接表如下图,顶点集合为{V1,V2,V3,V4,V5,V6 },请完成 (1)画出该有向图;

(2)写出该有向图从V1开始的所有可能的拓扑排序序列。

V1,V5,V2,V6,V3,V4 V1,V5,V6,V2,V3,V4 V1,V5,V2,V3,V6,V4

四、算法完成题:根据算法思想,在下列每小题的所给横线上填上合适的语句或短语。 (本题两小题共8个空,每空2分,满分16分)

1、二分法(折半)查找算法,在给定有序(从小到大)的顺序表中,查找关键字值为k的记录,若找到,返回记录下标,否则返回-1

依次为:low<=high mid-1 mid+1 return -1

2、下面是利用队列对二叉树进行从上往下,从左往右的层次遍历算法。

依次为:rear++、 front!=rear、 (front+1)%m或(front+1)%max或(front+1)、 NULL

五、算法设计题(本题共3小题,每小题8分,满分24分)

1、设计一个算法,功能是在带头结点的单链表head中删除数据域值最小的结点。 void delmin(linklist *head) {linklist q,p,r; Elemtype min;

p=(*head)->next;

min=p->data; while(p)

{ if(min>p->data)

min=p->data;

p=p->next;

}

43

p=(*head)->next;

q=*head; while(p)

{ if(min==p->data) { r=p->next;

q->next=p->next;

p=r; } else {q=p;

p=p->next; }

}

2、二叉树采用链式存储结构,结构定义如下,试设计一个递归算法计算一棵给定二叉树的叶子结点数。 int countleaf(BTtree bt) { int left,right;

if (bt==NULL) return 0; else if (bt->lrchild==NULL&&bt->rchild==NULL) return 1 ; else

{ left= countleaf(bt->lchild); right=countleaf(bt->rchild); return left+right; } }

3、已知有向图用邻接表为存储结构,设计一算法计算有向图每一顶点的度的算法。 void degree(ALGRAPH g) for(i=0;inextarc; }

for(i=0;i

for(i=0;i

for(i=0;i

{ degree[i]=indegree[i]+outdegree[i]; { p=g.vertices[i].firstarc;

printf(“=”,degree[i]); while(p)

{ k=p->adjvex; } indegree[k]++; } p=p->nextarc; }

}

44

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

共分享92篇相关文档

文档简介:

6、在一个具有n个顶点的有向完全图中,包含有 条边。 7、广义表((a),a)的表尾是 。 8、 设哈希(散列)表表长为15(哈希地址为0~14),哈希函数为H(key)=key,冲突处理采用线性探测Hi=(H(key)+1),则将一列数15,20,26,30,35,40存储该哈希表,元素40的哈希地址为______________________。 9、表长为n的顺序存储的线性表,当在任何位置上删除一个元素的概率相等时,删除一个元素需移动元素的平均次数为___ __。 10、常用查找算法有顺序查找、二分查找、分块查找,这三种查找的时间效率由低到高的排列顺序为________________。 三、简答题(本题共4小题,每小

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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