填空题:用后序和中序构造二叉树时,根据后序找出根结点,根据中序分左右子树。
用后序和中序构造二叉树时,根据后序找出根结点,根据中序分左右子树。
如果后序序列存储在数组a中,下标从i~j为当前子树存储的元素。
如果中序序列存储在数组b中,下标从s~t为当前子树存储的元素。
那么构造二叉树时,此子树的根结点是。
根据此结点,可在数组b中找到对应的元素,假定下标为k。
则根据中序序列的特性,可知,
此二叉树的左子树在数组b中的下标的起点为s,终点为,
右子树在数组b中的下标的起点为,终点为t。
那么,其左子树对应在数组a中的下标起点为i,终点为i+,
右子树对应在数组a中的下标起点为,终点为j-1。
**注意:填空时均不要加空格**
答案:
第1空:a[j] || aj ||
第2空:k-1 || b[k-1] ||
第3空:k+1 || b[k+1] ||
第4空:k-s-1 || k-1-s ||
第5空:i+k-s || k+i-s || k-s+i || i-s+k || j+k-t || j-t+k || j-(t-k) ||
如果后序序列存储在数组a中,下标从i~j为当前子树存储的元素。
如果中序序列存储在数组b中,下标从s~t为当前子树存储的元素。
那么构造二叉树时,此子树的根结点是。
根据此结点,可在数组b中找到对应的元素,假定下标为k。
则根据中序序列的特性,可知,
此二叉树的左子树在数组b中的下标的起点为s,终点为,
右子树在数组b中的下标的起点为,终点为t。
那么,其左子树对应在数组a中的下标起点为i,终点为i+,
右子树对应在数组a中的下标起点为,终点为j-1。
**注意:填空时均不要加空格**
答案:
第1空:a[j] || aj ||
第2空:k-1 || b[k-1] ||
第3空:k+1 || b[k+1] ||
第4空:k-s-1 || k-1-s ||
第5空:i+k-s || k+i-s || k-s+i || i-s+k || j+k-t || j-t+k || j-(t-k) ||