1.二叉搜索树:去一个陌生的城市问路到目的地: for each node, all elements in its left subtree are less-or-equal to the node (<=), and all the elements in its right subtree are greater than the node (>). 给予一个已经排序好的整数数组, 生成一个相对合理的二叉搜索树.(?相对合理的?) 给予一个二叉树的根节点,验证该树是否是二叉树搜索树,(…
function createNode(value) { return { value, left: null, right: null }; } function BinaryTree(val) { return { root: null, nodes: [], add(val) { const node = createNode(val); if (!this.root) { this.root = node; } else { this.downShift(node); } this.no…
What is Binary Search Tree (BST) A binary tree in which for each node, value of all the nodes in left subtree is less or equal and value of all the nodes in right subtree is greater The idea: We can use set boundry for each node. We take C tree for e…
Binary Tree : It is a tree data structure in which each node has at most two children. As such there is no relation between a parent and its left and right descendants. Hence they are unordered. Binary Search Tree : These are ordered binary trees wit…
Binary TreeDefinition: at most two children node. Binary Tree Example: 10 ==root /      \ 13          15  cur /   \    /  \ 21 72      12    2  /  \ null   null class TreeNode{ int value; TreeNode * left; TreeNode * right; TreeNode * parent //point t…
Minimum Depth of Binary Tree Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node. 比较左子树和右子树的深度,取小的那个返回上来,并+1. 需要注意的是如果没有左子树或右子树.那么无条件取存在的那一边子树深…
Minimum Depth of Binary Tree OJ: https://oj.leetcode.com/problems/minimum-depth-of-binary-tree/ Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf…
You need to construct a string consists of parenthesis and integers from a binary tree with the preorder traversing way. The null node needs to be represented by empty parenthesis pair "()". And you need to omit all the empty parenthesis pairs t…
前言 第一天的算法都还没有缓过来,直接就进入了第二天的算法学习.前一天一直在整理Binary Search的笔记,也没有提前预习一下,好在Binary Tree算是自己最熟的地方了吧(LeetCode上面Binary Tree的题刷了4遍,目前95%以上能够Bug Free)所以还能跟得上,今天听了一下,觉得学习到最多的,就是把Traverse和Divide Conquer分开来讨论,觉得开启了一片新的天地!今天写这个博客我就尽量把两种方式都写一写吧. Outline: 二叉树的遍历 前序遍历t…
Given a binary tree, find the length of the longest consecutive sequence path (连续的路径,不是从小到大). The path refers to any sequence of nodes from some starting node to any node in the tree along the parent-child connections. The longest consecutive path ne…