2017-03-21 100 views

回答

0

buildTree()每次遞歸調用,通過in[]表示的序序列被有效地分割成兩個子序列,一個子序列爲屬於父和其他子序列的左側爲屬於節點的節點在父母的右邊。 (原始序列沒有物理上劃分,而是索引傳遞到buildTree()以反映子序列。)

截至鏈接頁面,in = [D, B, E, A, F, C]的頂部的實例給出的,並且由於是A根,in_left = [D, B, E]in_right = [F, C]。因此inStrinEnd索引傳遞到buildTree()以反映這些子序列將是(0, 2)(4, 5)

那麼inStr > inEnd是什麼意思?簡而言之,沒有孩子節點了,所以我們可以在那裏停下來。

「遞歸邊界條件」實際上與Quicksort非常相似,其中比較了低位和高位指數。