zoukankan      html  css  js  c++  java
  • 二叉树的物理结构(存储结构)

    来源:  https://blog.csdn.net/qq_41587740/article/details/104215365

    双亲表示法:

    原理:
    在这里插入图片描述在这里插入图片描述
       R为头节点,所以parent=-1;
       ABC的双亲节点数组下标为0,所以parent=0;
       DE的双亲节点数组下标为1,所以parent=1;

    代码实现:

    typedef struct{
    	int data;		//数据域 
    	int parent;		//伪指针 
    }PTNode;			//节点类型
    
    typedef  struct{
    	PTNode nodes[MAX_TREE_SIZE];		//节点数据信息 
    	int n;			// 节点个数 
    }PTree;				//树的类型 
    
    

    孩子表示法:

    原理:
    在这里插入图片描述在这里插入图片描述
    代码实现:

    typedef struct CNode{
    	int child;					//孩子节点的下标 
    	struct CNode *next;			//下一个孩子节点的指针 
    }CNode; 						//单链表节点类型	
    
    typedef struct{
    	int data;					//节点数据 
    	struct CNode *firstchild;	//孩子节点的第一个节点,即单链表的头节点 
    }PNode;							//树的节点类型 
    
    typedef struct{
    	PNode nodes[MAX_TREE_SIZE];	//所有节点数据 
    	int n;						//节点个数 
    }CTree;							//树的类型 
    

    孩子兄弟表示法:

    原理:
    在这里插入图片描述在这里插入图片描述
    代码实现:

    typedef struct CSNode{
    	int data;
    	struct CSNode *fristchild,*nextsibling;
    }CSNode,*CSTree; 
    

    三种存储结构的对比:

    在这里插入图片描述

  • 相关阅读:
    PHP常量
    jquery中的几种常用总结
    jquery中的ajax
    常用的jquery一些总结
    js验证手机号邮箱号用户名
    PHP优化杂烩
    一个php开发的用于路由器的小功能
    HTML <form>
    window.open
    try&catch
  • 原文地址:https://www.cnblogs.com/maohuidong/p/14216720.html
Copyright © 2011-2022 走看看