zl程序教程

您现在的位置是:首页 >  .Net

当前栏目

二叉树存储结构

2023-02-18 16:34:55 时间

二叉树存储结构

存储结构:

① 顺序存储结构

② 链式存储结构

 

顺寻存储结构

结构体

typedef int DataType ;
struct SeqBinTree{
    int MAXNUM;
    int n;
    DataType *nodelist;  
};

typedef SeqBinTree* PSeqBinTree;

 

返回下标为p 的节点的父节点的下标

int parent_seq(PSeqBinTree tree,int p){
    if(p<0||p>=tree->n)return -1;
    return (p-1)/2;
}

 

返回下标为p的节点的父节点的下标

int leftChild_seq(PSeqBinTree tree){
    if(p<0||p>tree->n) return -1;
    return (p-1)/2;
}

 

返回下标为p的节点的左子节点的下标

int leftChild_seq(PSeqBinTree tree){
    if(p<0||p>tree->n) return -1;
    return 2*p+1;
}

 

返回下标为p的节点的右子节点的下标

int leftChild_seq(PSeqBinTree tree){
    if(p<0||p>tree->n) return -1;
    return 2*p+2;
}