mdsk.net
当前位置:首页 >> 对于一棵具有n个结点的二叉树 用二叉链表存储时 共... >>

对于一棵具有n个结点的二叉树 用二叉链表存储时 共...

肯定是n-1个啊,因为指向孩子域的指针逻辑上就是代表二叉树的边 n 个结点的二叉树,有n-1 条边

指针总数为2n,n-1个指向孩子,n+1个空闲

n个节点则有2n个链域,除了根节点没有被lchild和rchild指向,其余的节点必然会被指到.所以空链域有2n-(n-1)=n+1;非空链域有2n-(n+1)=n-1

1. 这个问题有点不太清晰啊,由于是n个节点,每个节点有两个指针(左右指针),所以其有2n个指针用于指向孩子节点2. 如果从实际指向了孩子节点的指针则为n-1个,因为n个节点的二叉树,除根结点以外都有自己的父亲结点或者说其都是一个孩子节点,所以有n-1个指针指向他们.

n个结点的二叉树二叉链表中有n+1个空链域,三叉链表中有n个(多了一个根结点中的空链域)

#include <stdio.h> #include <stdlib.h> struct BiTreeNode { char data; struct BiTreeNode *rchild; struct BiTreeNode *lchild; }; void Create(struct BiTreeNode *&Tnode) //先序创建2叉链表 { char ch; scanf("%c",&ch); if(ch=='#') { Tnode=NULL; } else {

1. n+12. 邻接矩阵中1的个数除以2 A[i][j]是否为1 计算该行中1的个数3. 2m4. (n+1)/2 O(log(n))5. n*(n-1)/26. 15

N+1个.1个结点时有2个空,即左右儿子.之后每增加一个结点便使之前的一个空变成非空,但再新增2个空,即新增结点的左右儿子.

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com