【題目】
給定乙個有序陣列arr,已知其中沒有重複值,用這個有序陣列生成一棵平衡搜尋二叉樹,並且該搜尋二叉樹中序遍歷的結果與arr一致。
【**】
//通過有序陣列生成平衡搜尋二叉樹
public
static node generatetree(int arr)
return generate(arr,0,arr.length-1);
}private
static node generate(int arr, int start, int end)
//有序陣列最中間的數生成搜尋二叉樹的頭結點
//該數左邊的數生成左子樹
//該數右邊的數生成右子樹
int mid=(start+end)/2;
node head=new node(arr[mid]);
head.left=generate(arr,0,mid-1);
head.right=generate(arr,mid+1,end);
return head;
}
通過有序陣列生成平衡搜尋二叉樹
題目 給定乙個有序陣列sortarr,已知其中沒有重複值,用這個有序陣列生成一棵平衡搜尋二叉樹,並且該搜尋二叉樹中序遍歷的結果與sortarr一致。public class geneartetree public static node generatetree int arr return gen...
通過有序陣列生成平衡搜尋二叉樹
題目 給定乙個有序陣列sortarr,已知其中沒有重複值,用這個有序陣列生成一顆平衡搜尋二叉樹,並且該搜尋二叉樹中序遍歷的結果與sortarr一致 思路 用有序陣列最中間的數生成搜尋二叉樹的頭節點,然後用這個數左邊的樹生成左子樹,用右邊的數生成右子樹即可 class node def init se...
有序陣列轉成平衡二叉樹,平衡二叉樹轉成雙端鍊錶
include include using namespace std 二叉樹的樹結構 struct treenode 有序陣列轉成平衡二叉樹 也是乙個遞迴的過程,每次都把陣列分為兩個部分,作為左子樹和右子樹。treenode sortedarray2bst vector nums treenode...