- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据结构》试题A
参考答案
一、填空题(每空1分,共25分)
1.顺序,链式
2.线性表中元素的数目
3.限定在表头作删除,在表尾作插入
4.n-i
5.后进先出
6.连续字符组成子序列,仅由空格字符组成的字符串
7.1084
8.树中各结点的层的最大值
9.树中各结点的度的最大值
10.(log2(n+1)(,或 (log2n+1(,或 (log2n(+1
11.2k-1-1
12.弧尾的弧
13.邻接表、逆邻接表、十字链表
14.10,7,8,9;10,24,77,110
15.数字分析法、除留余数法
、平方取中法、折叠法
16.n(n-1)/2, n-1
二、简答题(每小题5分,共10分)
1.答:二叉树有5种基本形态,举例如下:
其中:
B1:为空二叉树;
B2:有根结点,左右子树均为空二叉树;
B3:有根结点,左子树为非空二叉树,右子树为空二叉树;
B4:有根结点,左子树为空二叉树,右子树为非空二叉树;
B5:有根结点,左右子树均为非空二叉树。
2.答:对于顺序存储结构:
(1)优点:是一种随机存取结构,存取任何元素的时间是一个常数,速度快;结构简单,逻辑上相邻的元素在物理上也是相邻的;不使用指针,节省存储空间。
(2)缺点:插入和删除元素,平均需要移动约半个表的元素,消耗大量时间;需要提供一个连续的存储空间;插入元素可能发生“溢出”;表尾之后的自由存储空间不能被其它表的数据占用(共享)。
对于链式存储结构:
(1)优点:插入和删除元素,不必移动元素,只需修改相关结点的指针;不需要一个连续的存储空间。
(2)缺点:不是随机存取结构,查找元素的时间与元素在表中位置有关,不是一个常数;使用指针,指针需占用一定的存储空间;系统需提供动态存储管理功能。
三、求解问题(每小题6分,共18分 )
1.解:
(1)统计:
字符 A B C D E 频度 8 6 4 2 1
构造哈夫曼树:
(
2) A、B、C、D、E、F 的哈夫曼码:
字符 A B C D E 编码 0 10 111 1101 1100 (3)路径长度PL和带权路径长度WPL:
PL=1+1+2+2+3+3+4+4=20
WPL=8*1+6*2+4*3+1*4+2*4=44
2.解:(1)计算哈希地址:
K 19 27 26 28 29 40 64 21 15 12 42 41 H(k) 5 13 12 0 1 12 8 7 1 12 0 13 构造哈希表:
28 29 15 42 41 19 21 64 26 27 40 12 地址 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
(2)查找关键字40,需依次与26,27,40比较大小。
(3)查找成功时的平均查找长度:
ASL=(1+1+1+1+1+3+1+1+2+4+4+8)/12=28/12=7/3≈2.33
3.解:(1)构造二叉排序树:
(2)平均查找长度: ASL=(1+2+2+3+3+3+4+4+4)/9=26/9≈2.9
四、画存储结构图(每小题3分,共12分)
1.二维数组A[1..3,1..4]的以列序为主序的顺序存储结构。
2.下列树的双亲表示法:
3.二叉树T的顺序存储结构:
4.有向图G的逆邻接表:
五、输出结果如下:
d
da
data
data
data s
data st
data str
data stru
六、算法填空(每空2分,共计12分)
struct Lnode
{ int data;
struct Lnode *next;
};
struct Lnode *creat( )
{ struct Lnode *head,*f,*q,*p;int e;
head=(struct Lnode *)malloc(struct Lnode);
head-next=NULL;
do{ f=(struct Lnode *)malloc(structLnode);
您可能关注的文档
- 简单的几何图形推理学案10-相交线和平行线全章复习课同步练习17.doc
- 碱性食物相关理论与食物列表.doc
- 江苏省不同区域低碳认知现状调查及其分析.doc
- 江苏省昆山市兵希中学九年级数学总复习:临考应试策略.doc
- 江苏省苏北三市(徐州、淮安、宿迁)2013届高三第二次调研考试数学试卷.doc
- 江苏省盐城市响水县双语学校苏科版九年级上册第5章圆5.6圆和圆位置关系.ppt
- 江西省赣县中学北校区2012-2013学年高二地理5月月考试题.doc
- 交大附中2013届第一轮复习--函数第6讲--函数图像的平移和翻折.doc
- 教案4(运动学动力学).doc
- 教案新人教版七上1.2.3-相反数.doc
文档评论(0)