- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华中科技大学招收硕士研究生入学考试试题
TOC \o 1-5 \h \z \o Current Document OO 六年数据结构与算法分析试题答案 2
\o Current Document OO 七年数据结构与算法分析试题答案 6
\o Current Document O 一一年数据结构与算法分析试题答案 10
\o Current Document O 一二年数据结构与算法分析试题答案 14
二OO六年数据结构与算法分析试题答案
术语解释:(略)
选择题:
1~5: CDCCC
简答题:
1
2
第一趟:6 8 5 7 2 4 1 3
第二趟:5 6 7 8 1 2 3 4
第三趟:1 2 3 4 5 6 7 8
V1V1V1V1V3V3V2V2V2V4V4V1V1V3V3V2V2V4V4V7V7V6V1V3V2V4V7V6V5
V1
V1
V1
V1
V3
V3
V2
V2
V2
V4
V4
V1
V1
V3
V3
V2
V2
V4
V4
V7
V7
V6
V1
V3
V2
V4
V7
V6
V5
4
〃用邻接表G存储图的顶点信息
InitQueue(); //初始化队列为空
EnQueue(elem); 〃将元素 elem 入队
DeQueue(elem); 〃将队头元素退队并赋值给 elem
isEmpty(); 〃判断队列是否为空
GetTotallD(i); //获取第i个顶点的入度并存于ID数组中
ID[vexnum]; 〃用于存储各顶点的入度, vexnum为顶点数
InitQueue();
For(int i=0;i!=vexnum;++i)
GetTotallD(i); //依次获取每个顶点的入度
For(int i=0;i!=vexnum;++i) {
If(ID[i]==0)
EnQueue(i); 〃将入度为0的顶点入队
For(int i=fristadj;i!=adjnum;++i)
ID[i]-=1; //将该顶点的邻接点的入度数减 1
}
While(!isEmpty())
{
DeQueue(elem); 〃将队列中各顶点依次退队并赋值给 elem
Printf(elem); //输入拓扑排序序列
}
应用及编程题
unsigned int isBallanced(char* string) {
char brace;
for(ihnt i=0;i!=strlen(string);++i) if(string[i]=={||string[i]==[||string[i]==() push(string[i]);
switch(string[i])
{
brace=pop();
case ):
if(brace!=()
return 0;
break;
case ]:
if(brace!=[)
return 0;
break;
case }:
if(brace!={)
return 0;
break;
}
if(isEmpty())
return 1;
else
return 0;
}
}
该算法的时间复杂度为 O(n),空间复杂度为O(n);
2
int total=0;
int InOrderTraverse(bitree* t)
{
InOrderTraverse(t-lchild);
if(t-data=x1)
++total;
if(t-datax2)
return total;
InOrderTraverse(t-rchild);
return total;
}
该算法为中序遍历,时间复杂度为 O(n)
术语解释:
二OO七年数据结构与算法分析试题答案
选择题:
1~5: BCDBD
简答题:
2
由邻接矩阵可得该图为:
顶点
I=1
I=2
I=3
I=4
I=5
I=6
V2
10
V3
50
50
50
V4
50
30
V5
oo
50
oo
40
V6
oo
100
oo
oo
90
Vj
V1
V1,V2
V1,V2,V4
V1,V3
V1,V2,V4,V5
V1,V2,V4,V5,V6
3
设 N=2K,T(N尸T(N/2)+N
即 T(2K)=T(2K-1)+2K=T(2K-j+2K-1+2K=……=T(20)+2K+2K-1+2K-2+……=2K+1-1=2*2logn-1=2n-1
所以时间复杂度为 O(2n-1)
4
void InsertSort(int* array,int num) {
int i=num-1,j=1;
while(j!=i)
{
array[0]=array[i];
if(array[i]array[j]) {
for(int v=i-1;v=j;--v)
array[v-1]=array[
文档评论(0)