兰州大学--数据结构-命题作业-二叉树(完整答案)Word文档下载推荐.doc

上传人:聆听****声音 文档编号:473132 上传时间:2023-04-29 格式:DOC 页数:6 大小:55.50KB
下载 相关 举报
兰州大学--数据结构-命题作业-二叉树(完整答案)Word文档下载推荐.doc_第1页
第1页 / 共6页
兰州大学--数据结构-命题作业-二叉树(完整答案)Word文档下载推荐.doc_第2页
第2页 / 共6页
兰州大学--数据结构-命题作业-二叉树(完整答案)Word文档下载推荐.doc_第3页
第3页 / 共6页
兰州大学--数据结构-命题作业-二叉树(完整答案)Word文档下载推荐.doc_第4页
第4页 / 共6页
兰州大学--数据结构-命题作业-二叉树(完整答案)Word文档下载推荐.doc_第5页
第5页 / 共6页
兰州大学--数据结构-命题作业-二叉树(完整答案)Word文档下载推荐.doc_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

兰州大学--数据结构-命题作业-二叉树(完整答案)Word文档下载推荐.doc

《兰州大学--数据结构-命题作业-二叉树(完整答案)Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《兰州大学--数据结构-命题作业-二叉树(完整答案)Word文档下载推荐.doc(6页珍藏版)》请在冰点文库上搜索。

兰州大学--数据结构-命题作业-二叉树(完整答案)Word文档下载推荐.doc

%c"

&

data);

if(data=='

#'

){

T=NULL;

}

else{

T=(BiTree)malloc(sizeof(BiTNode));

//生成根结点

T->

data=data;

//构造左子树

CreateBiTree(T->

lchild);

//构造右子树

rchild);

return0;

//输出

voidVisit(BiTreeT){

if(T->

data!

='

printf("

%c"

T->

//前序遍历

voidPreOrder(BiTreeT){

if(T!

=NULL){

//访问根节点

Visit(T);

//访问左子结点

PreOrder(T->

//访问右子结点

//中序遍历

voidInOrder(BiTreeT){

InOrder(T->

//后序遍历

voidPostOrder(BiTreeT){

PostOrder(T->

前序/先序遍历:

结果:

1245736

特征:

访问根结点的操作发生在遍历其左右子树之前

中序遍历:

4275136

访问根结点的操作发生在遍历其左右子树之中(间)

后序遍历:

4752631

访问根结点的操作发生在遍历其左右子树之后

第二题

采用中序遍历的结果:

4275136从大到小排序

直接插入排序:

voidInsSort(inta[],intk)

{

intj;

for(inti=1;

i<

k;

i++)//循环从第2个元素开始

if(a[i]>

a[i-1])

inttemp=a[i];

for(j=i-1;

j>

=0&

&

a[j]<

temp;

j--)

a[j+1]=a[j];

a[j+1]=temp;

//此处就是a[j+1]=temp;

冒泡排序:

voidBubbleSort(inta[],intk)

inti,j,temp;

for(j=0;

j<

n-1;

j++)

for(i=0;

n-1-j;

i++)

if(a[i]<

a[i+1])

temp=a[i];

a[i]=a[i+1];

a[i+1]=temp;

voidmain()

inta[]={4,2,7,5,1,3,6};

intk=sizeof(a)/sizeof(a[0]);

//数组大小

InsSort(a,k);

//直接插入排序

for(inti=0;

i<

%d"

a[i]);

\n"

);

intb[]={4,2,7,5,1,3,6};

intn=sizeof(a)/sizeof(a[0]);

BubbleSort(b,n);

//冒泡排序

n;

b[i]);

第三题

思想:

最基本的插入排序,将第n个插入到前n-1个中的适当位置

时间复杂度:

T(n)=O(n²

稳定性:

稳定排序。

循环条件(j>

temp)保证的

反复扫描待排序序列,在扫描的过程中顺次比较相邻的两个元素的大小,若逆序就交换位置。

第一趟,从第一个数据开始,比较相邻的两个数据,(以升序为例)如果大就交换,得到一个最大数据在末尾;

然后进行第二趟,只扫描前n-1个元素,得到次大的放在倒数第二位。

以此类推,最后得到升序序列。

如果在扫描过程中,发现没有交换,说明已经排好序列,直接终止扫描。

所以最多进行n-1趟扫描

稳定排序

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2