原文:《算法导论》读书笔记之第12章 二叉查找树

摘要: 本章介绍了二叉查找树的概念及操作。主要内容包括二叉查找树的性质,如何在二叉查找树中查找最大值 最小值和给定的值,如何找出某一个元素的前驱和后继,如何在二叉查找树中进行插入和删除操作。在二叉查找树上执行这些基本操作的时间与树的高度成正比,一棵随机构造的二叉查找树的期望高度为O lgn ,从而基本动态集合的操作平均时间为 lgn 。 二叉查找树 二叉查找树是按照二叉树结构来组织的,因此可以用二 ...

2013-01-28 21:49 8 9612 推荐指数:

查看详情

算法导论读书笔记之第15 动态规划—最优二叉查找树

  1、前言:   接着学习动态规划方法,最优二叉查找树问题。二叉查找树参考http://www.cnblogs.com/Anker/archive/2013/01/28/2880581.html。如果在二叉树中查找元素不考虑概率及查找不成功的情况下,可以采用红黑或者平衡二叉树来搜索 ...

Thu Mar 14 06:58:00 CST 2013 0 9136
算法笔记_053:最优二叉查找树(Java)

目录 1 问题描述 2 解决方案 1 问题描述 在了解最优二叉查找树之前,我们必须先了解何为二叉查找树? 引用自百度百科一段讲解: 二叉排序树(Binary Sort Tree)又称二叉查找树(Binary Search Tree),亦称二叉搜索 ...

Mon Feb 27 06:37:00 CST 2017 0 2893
二叉查找树的构造算法

今天来写一下二叉查找树的构造算法 二叉查找树二叉查找树的的特点是所有节点的值要大于其左节点的值,小于其右节点的值。。。 因此我们在构造二叉查找树查找算法的时候总是用要查找的数来和节点的值做一个比较,如果节点的值大于要查找的数,那么继续查找其左节点,反之则继续查找器右节点,一直到查找 ...

Mon Jun 05 18:29:00 CST 2017 0 3789
算法导论读书笔记之第13 红黑

摘要:   红黑是一种二叉查找树,但在每个结点上增加了一个存储位表示结点的颜色,可以是RED或者BLACK。通过对任何一条从根到叶子的路径上各个着色方式的限制,红黑确保没有一条路径会比其他路径长出两倍,因而是接近平衡的。本章主要介绍了红黑的性质、左右旋转、插入和删除。重点分析了在红黑中 ...

Wed Jan 30 20:25:00 CST 2013 11 14678
二叉查找树

一、定义 一棵二叉查找树是一棵二叉树,每个节点都含有一个Comparable的键(以及对应的值)。 每个节点的键都大于左子树中任意节点的键而小于右子树中任意节点的键。 每个节点都有两个链接,左链接、右链接,分别指向自己的左子节点和右子节点,链接也可以指向null。 尽管链接指向 ...

Mon May 08 01:35:00 CST 2017 0 10456
二叉查找树(二)

  在上一篇中,我们说到了二叉树的性质,存储以及定义的结点,有了这些之后,我们便可以来创建一棵二叉查找树了。   首先,我们知道,按照我们定义的存储结构,如果我们知道了整棵的根结点,那么我们就可以访问到整棵的所有结点了,因此,将二叉树的类写成如下形式:   代码里边包含一个 ...

Thu May 10 23:15:00 CST 2012 5 1794
二叉查找树(五)

  接上一篇,继续讲二叉查找树的操作,之前的博客都讲得差不多了,本篇就讲一下删除操作,以及求最矮公共父结点(LCA:lowest common ancestor)的操作吧。 删除   将一个结点从二叉查找树中删除之后,剩下的结点可能会不满足二叉查找树的性质,因此,在删除结点之后要对 ...

Sat May 12 17:28:00 CST 2012 3 2261
二叉查找树

二叉查找树 总结: 1、节点的定义中 a. 左右孩子用指针定义,类似于int *left,因为结构体本身就是一种自定义类型,struct BSTreeNode看成系统的类型int不过分。 b. 用了typedef重定义类型,给struct BSTreeNode起了两个 ...

Thu Jan 04 03:31:00 CST 2018 0 3370
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM