队列的进出原则 怎样将完全二叉树用数组表示?
怎样将完全二叉树用数组表示?定义:如果二叉树的深度设置为h,则每层(1-h-1)中的节点数(除h层外)达到最大值,并且h层中的所有节点都连续地集中在最左侧,这是一个完整的二叉树。所以,第一行有1=2^
怎样将完全二叉树用数组表示?
定义:如果二叉树的深度设置为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个数