• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






乘风有时

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

随笔分类 -  二叉树

 
二叉树总结(五)伸展树、B-树和B+树
摘要:一、伸展树 伸展树(Splay Tree)是一种二叉排序树,它能在O(log n)内完成插入、查找和删除操作。 因为,它是一颗二叉排序树,所以,它拥有二叉查找树的性质;除此之外,伸展树还具有的一个特点是:当某个节点被访问时,伸展树会通过旋转使该节点成为树根。这样做的好处是,下次要访问该节点时,能够迅 阅读全文
posted @ 2017-08-29 21:35 乘风有时 阅读(779) 评论(0) 推荐(0)
二叉树总结(四)平衡二叉树
摘要:平衡二叉树概念 AVL树是根据它的发明者G.M. Adelson-Velsky和E.M. Landis命名的。它是最先发明的自平衡二叉查找树,也被称为高度平衡树。相比于"二叉查找树",它的特点是:AVL树中任何节点的两个子树的高度最大差别为1。 AVL树的查找、插入和删除在平均和最坏情况下都是O(l 阅读全文
posted @ 2017-08-28 17:04 乘风有时 阅读(1099) 评论(1) 推荐(0)
二叉树总结(一)概念和性质
摘要:一、树的概念 树是一些点的集合,这个集合可以为空,若不为空,则它是由一个根节点和0个或多个为空的子树组成,且每个子树都被一条来自根节点的有向边相连。 树叶:没有儿子的节点;兄弟:具有相同父亲的节点;类似还有祖父和孙子节点。 路径:节点n1,n2,n3,...,nk的一个序列,使得对于1 <= i < 阅读全文
posted @ 2017-08-25 18:58 乘风有时 阅读(6132) 评论(0) 推荐(1)
[LeetCode]Range Sum Query
摘要:题目:Range Sum Query - Immutable Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive. Example: Note: 给定 阅读全文
posted @ 2017-05-11 22:48 乘风有时 阅读(285) 评论(0) 推荐(0)
[LeetCode]Evaluate Reverse Polish Notation
摘要:题目:Evaluate Reverse Polish Notation 给出一个加减乘除的逆波兰式,求出它的结果; 什么是逆波兰式? 简单来说,逆波兰式就是表达式的后缀表示形式; 例如下面两个式子: ["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9 [" 阅读全文
posted @ 2017-04-25 22:33 乘风有时 阅读(206) 评论(0) 推荐(0)
二叉树总结(二)树的遍历
摘要:该文我会用来总结二叉树相关的知识 二叉树如下图: 二叉树的结构 二叉树构造方法 为了测试二叉树的的各种算法,我不得不写一个二叉树的构造方法,我主要是用层次遍历的方式来构造二叉树的。层次遍历在后面会详细说到。 用字符串的方式来输入二叉树的序列,例如: 输入:1 2 3 4 5 6 7 null nul 阅读全文
posted @ 2017-04-03 10:14 乘风有时 阅读(934) 评论(0) 推荐(0)
[LeetCode]Unique Binary Search Trees
摘要:题目:Unique Binary Search Trees 找值为1->n的所有可能的二叉树。 如果是找可能的数量而不需要列出所有可能时,可以用动态规划。 思路如下: 动态规划法:f(n)表示该子树中有n个数字可用来组成树枝f(0) = 1;空树f(1) = 1;树根f(2) = f(0)*f(1) 阅读全文
posted @ 2017-04-03 10:13 乘风有时 阅读(170) 评论(0) 推荐(0)