声明 本文最后会使用java语言实现红黑树的插入和删除的算法实现,所以本文是站在java的角度来描述红黑树,比如叶子节点会用null表示,而不是nil。 红黑树其实是一颗自平衡二叉搜索树,对二叉搜索树不了解的,可以先看《二叉搜索树简介之java实现》这篇文章,下面的内容假定已经了解了二叉搜索树,所以不再重点关注二叉搜索树的特性。 1. 红黑树的定义 1.1 红黑树相比二叉搜索树的优点 红黑树本身就是一棵二叉搜索树。 二叉搜索树是不平衡的,在极不平衡的时候,也就是最坏的情况下,会退化成链表,此时的时间复杂度为O(n)…

2021年1月15日 0条评论 7点热度 阅读全文

声明 本文最后会使用java语言实现红黑树的插入和删除的算法实现,所以本文是站在java的角度来描述红黑树,比如叶子节点会用null表示,而不是nil。 红黑树其实是一颗自平衡二叉搜索树,对二叉搜索树不了解的,可以先看《二叉搜索树简介之java实现》这篇文章,下面的内容假定已经了解了二叉搜索树,所以不再重点关注二叉搜索树的特性。 1. 红黑树的定义 1.1 红黑树相比二叉搜索树的优点 红黑树本身就是一棵二叉搜索树。 二叉搜索树是不平衡的,在极不平衡的时候,也就是最坏的情况下,会退化成链表,此时的时间复杂度为O(n)…

2019年1月23日 0条评论 5点热度 阅读全文