失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 将顺序二叉树存储序列转化为链式存储序列-c语言

将顺序二叉树存储序列转化为链式存储序列-c语言

时间:2023-01-09 08:23:36

相关推荐

将顺序二叉树存储序列转化为链式存储序列-c语言

将顺序二叉树存储序列转化为链式存储序列

- 题目描述:

将给定顺序二叉树存储序列转换为链式二叉树存储序列显示

char data[13] = {‘0’,‘A’,‘B’,‘C’,‘0’,‘D’,‘E’,‘F’,‘0’,‘0’,‘G’,‘H’,‘0’,‘I’}

题解思路:首先理解二叉树的顺序存储结构原理,首先根节点的编号(下标)为1的是根节点,左孩子下标为2i,右孩子是2i+1。在二叉树的链式存储中是按照先序输出的序列输出的,那么思路一:二叉树的先序输出序列(包括‘0’)就是链式的输入输入序列。思路二:常见的是,根据顺序二叉树输入序列的性质,可以知道每个数组元素的在二叉树中的对应位置,利用递归算法。只要是二叉树就往递归上靠近

思路二的代码描述:

void Link(char data[],int i) {printf("%c ",data[i]);if(data[2*i]!='0'&&2*i<14){Link(data,2*i);}else{printf("%c ",'0');}if(data[2*i+1]!='0'&&2*i+1<14){Link(data,2*i+1);}else{printf("%c ",'0');}}

结果显示:

如果觉得《将顺序二叉树存储序列转化为链式存储序列-c语言》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。