没有合适的资源?快使用搜索试试~ 我知道了~
数据结构 期未试题1
需积分: 0 0 下载量 95 浏览量
2022-08-03
21:51:02
上传
评论
收藏 830KB PDF 举报
温馨提示
试读
14页
2、下类代码实 1、给定图 1 2、针对图 1 3、S={12,10,13,23,14,15,17,27,22,33}依次按散列方式存入数组 5、判断(10,3
资源详情
资源评论
资源推荐
江西师范大学计算机科学技术专业
08-09 第 1 学期《数据结构》期末考试试题 A
课程代号:262208
注意事项:请将答案全部写到答题纸上,并注明题号!
一、单项选择题(每小题 2 分,共 12 分)
1.借助结点的存储地址与其值之间映射关系建立的存储结构是( )
A.顺序结构 B.链式结构 C.索引结构 D.散列结构
2.给定代码 int i=1, n=100; while(i<n) i=i*2;
其渐进时间复杂度是( )
A. O(1) B. O(n) C.O(logn) D.O(nlogn)
3.图的深度优先遍历与树的_______遍历方式相似。
A. 前序遍历 B. 后序遍历 C.层次遍历
D. 没有那种方式与其相似
4.前序遍历和中序遍历序列相同的二叉树,其特点是( )
A. 所有结点不能有左子树 B. 所有结点不能有右子树
C. 不含有 1 度结点 D. 该二叉树只有根存在
5.下列排序中,属于稳定的排序方式是( )
A.快速排序 B.堆排序 C.希尔排序 D.归并排序
6.队列和栈的主要区别是( )
A.逻辑结构不同 B.所包含的运算个数不同
C.存储结构不同 D.限定插入和删除的位置不同
二、程序填空(每空 3 分,共 18 分)
1.在顺序循环队列中查找元素 x,若找到,返回其所在位置;否则,返回‐1。
#define n 100
typedef struct{
int a[n];
int front,rear;
}Queue;
int findX(Queue *p, int x){
int
i
i
;
i=
初
while
(
(1)
if (p
-
(
(2)
retur
n
}
2、下类代码
实
到 a[len-
1
void
s
int
for
(
f
o
}
}
三、综合解
答
1、给定图
1
a. 给出对
应
b. 根据邻
接
结果。
2、针对图
1
其中 A、…
、
循
环
集合
S
初
始化
{A}
1
2
3
4
5
-
>a[i]==
x
) i++
;
x
) retur
n
;
n
i;
n
-1;
实
现
s
hell
1
]的空间中
。
s
hell(in
t
i,j,d,t;
(
d=len/2;
o
r( (3
)
t=a[i];
while(
(
6
}
a[j+d]=
t
答
题(每小
题
1
所示的有
向
应
的邻接表
图
接
表,写出
图
1
所示的有
向
、
F 的下标
分
S
v
0
‐
排序。假定
所
。
所
有 len 个
关
t
a[], in
t
d>=1; d
=
)
;
i<
l
(4)
(5) )
6
) ; j=
j
t
;
题
10 分,共
5
向
网络 G,
要
图
;
图
的深度、
广
向
网络 G,
基
分
别对应到
0
距离向
量
1 2 3
t
len){
=
d/2)
l
en; i++)
{
;
{
j
-d;
5
0分)
要
求:
广
度优先遍
历
基
于 Dijkstra
算
0
、…、5。
量
d
4 5 0
关
键字已经
存
存
储在数组
从
从
a[0]
{
图
1
历
算
法将如下
表
路径
向
1 2
表
格补充完
整
向
量 p
3 4 5
1
有向网络
G
整
。
G
3、S={12,10,13,23,14,15,17,27,22,33}依次按散列方式存入数组
a[10]中,其中散列函数为 H(key)=key%10,冲突处理的方法是线性探测再散
列。将下面数组 a 存储各元素的位置示意图填写完整。
0 1 2 3 4 5 6 7 8 9
数组 a
4.假设通信电文使用的字符集为{a,b,c,d,e,f,g},字符的哈夫曼编码依次为:
0110,10,110,111,00,0111 和 010。
(1)请根据哈夫曼编码画出此哈夫曼树,并在叶子结点中标注相应字符;
(2)若这些字符在电文中出现的频度分别为:3,35,13,15,20,5 和 9,求
该哈夫曼树的带权路径长度。
5、判断(10,30,16,23,19,15,47,27)是否为堆,若不是,将其调整
为小根堆(即根最小的堆)。
四、算法设计题(每小题 10 分,共 20 分)
1、给定字符串 s,其长度为 n。s 中只包含英文字母(大/小写)、空格。完
成函数 count,统计各字符的个数,放入长度为 27 的数组 t 中,其中 t[0]
记录字符'a'和'A'的个数;t[1]记录字符'b'和'B'的个数;……;t[25]
记录字符'z'和'Z'的个数;t[26]记录空格的个数。假设数组 t 的所有元素
初值已设置为 0(10 分)。
count(char *s ,char t[], int n){
/*补充完整 */
}
2、在二叉排序树 t 中查找元素 x。如 t 为 NULL,生成结点存储元素 x,并
将其作为二叉排序树的根;否则,若找到,则无需插入;若未找到,则生成
结点存储元素 x,并将该节点插入到二叉排序树的合适位置。(10 分)
typedef struct tt{
int d;
struct tt *L,*R;
}btree;
btree* find_insert(btree *t, int x){
/*补充完整 */ }
剩余13页未读,继续阅读
chenbtravel
- 粉丝: 18
- 资源: 296
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0