- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
烟台大学2006~2007 学年第 1 学期
算法与数据结构 试卷A参考答案及评分标准
考试方式: 闭卷 (开卷、闭卷、其他)
院系: 文经学院 年级: 三 专业: 计算机应用
……………………………………………………………………………………………..
注:标准答案、参考答案要点及评分标准须写清题号、每小题得分、共得分等。
此格式为题头,如本页不够,后面请附相同规格(A4)的纸张。
一、选择题
……………………………………………………………………………………………..
1.C
2.D
3.B
4.C
5.B
6.B
7.B
8.F
9.D
10.A
11.C
12.B
13.A
14.A
15.C
二、判断题
1.×
2.×
3.√
4.√
5.×
6.√
7.×
8.×
9.×
10.×
三、阅读程序
1. 程序段1 的功能是将一个非空栈中值等于m的元素全部删除;(根据答题情况酌情给分)
2. 程序段2 的功能是将开始结点摘下链接到终端结点之后成为新的终端结点,而原来的第二个结点成为新的开始结点,返回新链表的头指针;(根据答题情况酌情给分)
四、简答题
1. (答对next给2分,答对nextval给2分)
j
1
2
3
4
5
6
7
8
9
10
pat
A
D
A
B
B
A
D
A
D
A
next
0
1
1
2
1
1
2
3
4
3
nextval
0
1
0
2
1
0
1
0
4
0
一维数组属于特殊的顺序表,和有序表的差别主要在于有序表中的元素按值排列(非递增或非递减),而一维数组中的元素没有按元素值排列顺序的要求。
(如果答出一个是按值排列一个无此要求就可以给满分3分)
3. 转换结果为:
(根据答题情况酌情给分,只要转换结果无右子树就可以给3分)
4. 1). 深度优先访问顺序为:1,2,5,3,4,7,6,8,9,10 (答对2分,酌情给分)
2). 深度优先生成树为:(答对2分,酌情给分)
5. (评分标准:对得4分,哈夫曼树3分,WPL 1分,错酌情扣分)
WPL=(2+3)*4+(4+6+8)*3+(10+12)*2=118
该排序方法为:快速排序方法
五、 算法设计题
1.
//二叉树的二叉链表表示
typedef struct BINTREENODE
{ ElemType data;
struct BINTREENODE *lchild, rchild;
} BinNode,*BinTree //答对给2分
int BsBtr(BinTree t, BinTree pre, int flag)
{ //判别给定的二叉树是否为二叉排序树
pre =NULL; flag=TRUE;
if (t flag)
{ BSBtr(t-lchild, pre, flag);
if (pre = = NULL)
{ flag=TRUE;pre=t; }
else
if(pre-key t-key) //比较t 与中序直接前驱pre的大小
{ flag=TRUE; pre=t;} //pre与t有序
else flag=FALSE; //pre与t无序
}//if
BSBtr(t-rchild,pre,flag);
}//BSBtr //8分,酌情给分,无注释扣1分
2.void BFSTraverse( AlGraph G, int v)
//广度优先搜索图
for(v=0;vG.vernum; v++) visited[v]=0; //访问数组初始化
QueueInit(Q);//置空的辅助队列Q
for(v=0;vG.vernum; v++)
if(!visited[v]) //v尚未访问
{ QueueIn(Q,v);//v入队列
visited[u]=1;visit(u);
文档评论(0)