정렬 체인 테이블BST(균형 찾기 두 갈래 트리)
3079 단어 알고리즘 기반
private static class ListNode {
public int value;
public ListNode next = null;
}
private static class TreeNode {
public int value;
public TreeNode left = null;
public TreeNode right = null;
}
private static TreeNode convertList2Tree(ListNode head, int length) {
if (head == null || length == 0) return null;
ListNode leftHead = null, rootHead = null, rightHead = null;
TreeNode leftRoot = null, root = null, rightRoot = null;
if (length % 2 == 1) {
// 1 2 3 [4] 5 6 7
leftHead = head;
rootHead = moveList(leftHead, length / 2 + 1);
rightHead = rootHead.next;
leftRoot = convertList2Tree(leftHead, length / 2);
rightRoot = convertList2Tree(rightHead, length / 2);
} else {
// 0 1 2 [3] 4 5
leftHead = head;
rootHead = moveList(leftHead, length / 2 + 1);
rightHead = rootHead.next;
leftRoot = convertList2Tree(leftHead, length / 2);
rightRoot = convertList2Tree(rightHead, length / 2 - 1);
}
root = new TreeNode();
root.left = leftRoot;
root.right = rightRoot;
root.value = rootHead.value;
return root;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
두 갈래 트리mirros 역행과 수조는 k 등분으로 구분된다1. 두 갈래 나무mirros가 두루 다니는데 원리는 단서 나무와 유사하고 빈 바늘을 이용하여 그 후속 노드를 저장한다. 단서 트리와 유사합니다. 2. 수조는 4등분의 예로 나뉜다. 동화'성냥팔이 소녀'를 기억하십니...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.