当前位置: 首页> 财经> 访谈 > 潜江seo_佛山网站建设专业主修课程_东莞seo技术_百度普通版下载

潜江seo_佛山网站建设专业主修课程_东莞seo技术_百度普通版下载

时间:2025/7/9 10:49:22来源:https://blog.csdn.net/2401_88135404/article/details/144162816 浏览次数:0次
潜江seo_佛山网站建设专业主修课程_东莞seo技术_百度普通版下载

一、顺序存储

1.定义一个结构体数组,每一个数组结点包含一个存储元素和一个bool指针来判断节点是否为空。首先利用循环初始化所有结点,使其标记为空,再按照从上至下、从左至右的顺序依次存储完全二叉树中的各个结点。(其中数组为静态数组,包含数量有限)

所需实现的基本操作:

几个重要常考的基本操作:
i的左孩子          --2i
i的右孩子            --2i+1
i的父节点           --li/2]
i所在的层次--「logz(n+1)或Llogzn]+ 1
若完全二叉树中共有n个结点,则
判断i是否有左孩子?         --2i ≤n?
判断i是否有右孩子?        --2i+1 ≤n?
判断i是否是叶子/分支结点?--i>ln/2]?

2.如果不是完全二叉树,则无法用顺序存储来反映结点的关系。 

结论:二叉树的顺序存储结构,知识和存储完全二叉树。

二、链式存储

1.创建结构体结点,包含一个数据域和左右孩子指针,分别指向左孩子和右孩子,如果不存在孩子则指向null。(共有2n个指针,有n+1个指针指向null)(可构造线索二叉树)。

2. (假设每一个数据只包含一个int型的变量)首先定义一个指针指向null(空树),再用malloc函数申请一个根节点。根节点存入数字1,使根节点的左右指针指向null。再有malloc申请一个新空间存放2,接下来使根节点的左孩子指针指向该节点的p,这样他就变成根节点的左孩子,以此类推。

 3.思考:这样找到左右孩子结点非常容易,但找父节点只能从根节点开始遍历。(如果需要经常需要寻找父节点,可以在结构体指针中多设置一个父节点---三叉链表)

总结: 

关键字:潜江seo_佛山网站建设专业主修课程_东莞seo技术_百度普通版下载

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: