问答题 一棵完全二叉树以顺序方式存储在数组A的n个元素中。设计一个算法构造该二叉树的链接存储表示。
【正确答案】对于以顺序方式存储在数组A中的一棵完全二叉树,节点A[i]的左孩子为A[2i],右孩子为A[2i+1]。采用递归方式创建该二叉树的链接存储表示。实现本题功能的程序代码如下: void ctree(BTNode * &t,char A[],int i,int n) { if(i>n) t=NULL; else { t=(BTNode *)malloc(sizeof(BTNode)); t→data=A[i]; ctree(t→left,A,2*i,n); ctree(t→right,A,2*i+1,n); } }
【答案解析】