Basics

基本性质

  • 左子树都 < root, 右子树都 > root, =的情况 非BST
  • 中序遍历一定是有序的 (ascending order)
    • 如果一棵二叉树的中序遍历不是升序,则一定不是BST
    • 如果一棵二叉树的中序遍历是升序,也未必是BST
      • 当存在重复元素时,相同的数要么同时在左子树,要么同时在右子树,不能一边一个

基本操作

  • insert node in BST
  • delete node in BST
  • o(height) 的时间search, insert, delete

Problems

Validate BST: http://www.lintcode.com/en/problem/validate-binary-search-tree/

  • traverse vs divide & conquer

BST iterator: http://www.lintcode.com/en/problem/binary-search-tree-iterator/

  • iterator vs inorder with non-recursion

In-order Successor in BST: http://www.lintcode.com/problem/inorder-successor-in-binary-search-tree/

Search Range in BST: http://www.lintcode.com/problem/search-range-in-binary-search-tree/

Insert Node in a Binary Search Tree: http://www.lintcode.com/problem/insert-node-in-a-binary-search-tree/

Remove Node in a Binary Search Tree: http://www.lintcode.com/problem/remove-node-in-binary-search-tree/

Binary Tree Zigzag Level Order Traversal: http://www.lintcode.com/en/problem/binary-tree-zigzag-level-order-traversal/

Binary Tree Level Order Traversal II: http://www.lintcode.com/en/problem/binary-tree-level-order-traversal-ii/

results matching ""

    No results matching ""