- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
《数据结构》
有二叉树如图1所示:
(1)用三种遍历方法遍历二叉树,写出遍历结果,并总结三种遍历方法的特征。
(2)选择其中的一种遍历结果,采用至少两种排序方法将其按从大到小的顺序排列。
(3)简要比较和评价所选排序算法。
作业要求:
(1)排序方法需描述算法思路并用程序描述算法,程序请添加注释;
(2)排序算法的评价和比较主要从复杂度入手。
答:
(1)写出遍历结果,并总结三种遍历方法的特征
1)树的三种遍历结果分别为:
先序遍历:==》根、左、右
1-2-4-5-7-3-6
中序遍历:==》左、根、右
4-2-7-5-1-3-6
后序遍历:==》左、右、根
4-7-5-2-6-3-1
2)三种遍历方法的特征:
前序遍历:1.访问根节点2.前序遍历左子树3.前序遍历右子树
中序遍历:1.中序遍历左子树2.访问根节点3.中序遍历右子树
后序遍历:1.后序遍历左子树2.后序遍历右子树3.访问根节点
(2)三种排序方法将其按从大到小的顺序排列
1)冒泡排序
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceExEbullitionSorter
{
classEbullitionSorter
{
publicvoidSort(int[]arr)
{
inti,j,temp;
booldone=false;
j=1;
while((jarr.Length)(!done))//判断长度
{
done=true;
for(i=0;iarr.Length-j;i++)
{
if(arr[i]arr[i+1])
{
done=false;
temp=arr[i];
arr[i]=arr[i+1];//交换数据
arr[i+1]=temp;
}
}
j++;
}
}
staticvoidMain(string[]args)
{
int[]array=newint[]{4,2,7,5,1,3,6};
EbullitionSortere=newEbullitionSorter();
e.Sort(array);
foreach(intminarray)
Console.WriteLine({0},m);
}
}
}
2)选择排序
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
?namespaceExChoiceSort
{
classChoiceSort
{
publicvoidSort(int[]array)
?{
????intmin;
????for(inti=0;iarray.Length-1;i++)
????{
????????min=i;
????????for(intj=i+1;jarray.Length;j++)
???????{
???????????if(list[j]list[min])
???????????????min=j;
???????}
???????intt=list[min];
???????list[min]=list[i];
???????list[i]=t;
???}
}
staticvoidMain(string[]args)
{
int[]array=newint[]{4,2,7,5,1,3,6};
ChoiceSorte=newChoiceSort();
e.Sort(array);
foreach(intminarray)
Console.WriteLine({0},m);
}
}
}
3)插入排序
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceExInsertionSorter
{
publicclassInsertionSorter
{
publicvoidSort(int[]arr)
{
for(inti=1;iarr.Length;i++)
{
intt=arr[i];
intj=i;
while((j0)(arr[j-1]t))
{
arr[j]=arr[j-1];//交换顺序
--j;
}
arr[j]=t;
}
}
staticvoidMain(
您可能关注的文档
- 兰州大学《数据结构》2020年9月考试在线考核试题答案.doc
- 兰州大学《数据结构》2020年9月考试在线考核试题第二套答案.docx
- 兰州大学《数据结构》在线考试考前辅导资料答案.doc
- 兰州大学《数字逻辑》2020年9月考试在线考核试题答案.doc
- 兰州大学《数字逻辑》课程考试考前辅导资料答案.doc
- 兰州大学《统计学原理》2020年9月考试在线考核试题答案.doc
- 兰州大学《统计学原理》课程考试考前辅导资料答案.docx
- 兰州大学《土木工程材料》2020年9月考试在线考核试题答案.docx
- 兰州大学《土木工程材料》课程考试考前辅导资料答案.docx
- 兰州大学《土木工程制图》2020年9月考试在线考核试题答案.docx
文档评论(0)