数据结构题目45:二叉树的建立
2020-05-11 本文已影响0人
玲儿珑
题目: 建立一棵二叉树。
解题思路:用单个字符表示二叉树中一个结点的数据,这里采用前序遍历算法。建立二叉树的过程如下:
1、输入一个根结点。
2、若输入的是”“(空格字符),则表明二叉树为空,置T为NULL。
3、若输入的是”“(空格字符),则将该字符赋给T->data,然后依次递归地建立它的左子树T->lchild和右子树T->rchild。
具体算法如下:
class Node{
constructor (data, lchild, rchild) {
this.data = data,
this.lchild = lchild
this.rchild = rchild
}
}
function buildBT() {
if ( i<len ) {
ch = str.charAt(i++)
}
if ( ch==' ' ) {
return null;
} else {
let T = new Node(ch, null, null)
T.lchild = buildBT()
T.rchild = buildBT()
return T
}
}
var str = "ABC DE F G "
var ch = ''
var len = str.length, i=0
buildBT()