通過有序陣列生成平衡搜尋二叉樹

2021-08-19 02:24:57 字數 601 閱讀 4598

【題目】

給定乙個有序陣列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...