数据结构----二叉搜索树
在数据结构中,二叉树是一种比较常见的树结构。在有的应用场景下,为什么要使用二查搜索树呢?使用二查搜索树可以给我们带来什么好处呢? 比如我们做查询操作时,数组的查询插入或者删除的最坏的时间复杂度是O(n) 当我们把这个数组进行排序以后,查询的最坏时间复杂度为o(log n),但是插入和删除元素的时间复杂度依然没有发生变化。 二叉搜素树的查询插入和删除的最坏时间复杂度都为o(log n),所以使用二叉搜索树可以大大的提高效率。 二叉搜索树服从以下的规则: 任意一个节点的值都大于左子树节点的值 任意一个节点的值都小于右子树节点的值 每个节点的左右子树依然是一颗二叉搜索树 package com.BinarySearchTree; import java.util.ArrayList; public class BinarySearchTree { public static void main(String[] args) { BinarySearchTree binarySearchTree = new BinarySearchTree(); binarySearchTree.add(7); binarySearchTree.add(4); binarySearchTree.add(9); binarySearchTree.add(2); binarySearchTree.add(5)