二叉树存储结构

二叉树存储结构

存储结构:

① 顺序存储结构

② 链式存储结构

 

顺寻存储结构

结构体

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;
}
posted @ 2020-06-03 16:10  多发Paper哈  阅读(158)  评论(0编辑  收藏  举报
Live2D