树的存储结构
双亲表示法:采用一组连续的存储空间来存储每个结点,同时在每个结点中增设一个伪指针,指示双亲结点在数组中的位置,根结点的下标为0,其伪指针域为-1
1 | #define MAX_TREE_SIZE 100 |
孩子表示法:将每个结点的孩子结点都用单链表连接起来形成一个线性结构,n个结点具有n个孩子链表
1 | #define MAX_TREE_SIZE 100 |
孩子兄弟表示法:
1 | typedef struct CSNode{ |
双亲表示法:寻找结点的双亲结点效率高,寻找结点的孩子结点效率低
孩子表示法:寻找结点的孩子结点效率高,寻找结点的双亲结点效率低
孩子兄弟表示法:寻找结点的孩子结点效率高,方便实现树转换为二叉树,寻找双亲结点的效率低