请问高手:不用指针,怎么用c语言建立二叉树?

论坛 期权论坛 期权     
匿名   2018-4-26 13:51   4468   3
请问高手:不用指针,怎么用c语言建立二叉树?
分享到 :
0 人收藏

3 个回复

倒序浏览
2#
Viol_lion  2级吧友 | 2018-4-30 02:00:32 发帖IP地址来自
你可以创建一个结构体数组,x号节点是父节点,那么它的左孩子就是2x号,右孩子就是2x+1号,你可以自己推演一下,不会重复的,但是这样有一点,就是说当你创建到n层的时候,就必须要申请一个2^n-1个结构体的空间,层数一多,空间严重浪费,所以才要用指针,当然如果你层数不多,比如 5层,那只要31个空间,完全可以这么做,这个时间上面要比指针略微快点。
3#
Kevin_D404  3级会员 | 2018-4-30 02:00:33 发帖IP地址来自
一个结构体数组。
比如
struct binaryTree
{
      int leftChild;
      int rightChild;
      DataType Data;
};
其中leftChild表示左孩子在数组中的下标,rightChild表示右孩子在数组中的下标,Data表示数据域。如果还需要parent再往上添就是了~
4#
热心网友  15级至尊 | 2018-4-30 02:00:34 发帖IP地址来自
做个数组,把元素在二叉树的位置对应为数组下标
第N层,第M个就是 2^N-1+M (N和M从0开始)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:58388
帖子:6688
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP