c语言二叉树 怎样将完全二叉树用数组表示?
浏览量:2014
时间:2021-03-13 05:50:17
作者:admin
怎样将完全二叉树用数组表示?
定义:如果二叉树的深度设置为h,则每层(1-h-1)中的节点数(除h层外)达到最大值,并且h层中的所有节点都连续地集中在最左侧,这是一个完整的二叉树。
所以,第一行有1=2^0,第二行有2=2^1,依此类推,第n行有2^(n-1)
那么总数是一个等比序列,前n行有2^n-1
很明显,一维数组是按下标顺序表示的,我们可以找到在完全二叉树中的位置
假设数组从a[1]开始,例如a[25],25=15 10=(2^4-1)10,那么a[25]是第四个1=5行中的第10个数
你的意思是以数组的形式存储二叉树,这需要利用完全二叉树的特性树。完全二叉树通常用数组代替链表进行存储,其存储结构如下:树:数组[1.. n] 在树[i]的最长{n:integer n>=1}中,它具有以下特征:(1)如果i是奇数且i>=1,则树的左兄弟是树[i-1];(2)如果i是偶数且i
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。