2018年3月19日

倍道而行:二分搜索树删除节点

摘要: 二分搜索树的节点的删除还是挺有意思的,下面先从特例开始写,然后通过特例再写通例。 一、删除最小值所在的节点 根据二分搜素树的性质可知,最小值就是:至到某左节点没有左孩子,它就是最小值 代码如下: 二、删除最大值所在的节点 根据二分搜素树的性质可知,最小值所在的节点就是:至到某左节点没有左、右孩子,它 阅读全文

posted @ 2018-03-19 14:25 成长的船 阅读(238) 评论(0) 推荐(0) 编辑

倍道而行:二分搜索树的遍历【前中后序遍历(深度优先遍历)】+层序遍历【广度优先遍历】

摘要: 先看下前中后序遍历的顺序是怎么样的: 下面通过一个例子来具体的描述前序遍历的流程: 以下都以“节点”代替,比如:“28”指的是 “28这个节点”。 流程顺序是:自、左、右 1.先访问“28”,然后访问“28”左节点即“16”。 2.然后“16”的左节点即“13”。好,这里是关键,“13”没继续访问其 阅读全文

posted @ 2018-03-19 11:23 成长的船 阅读(319) 评论(0) 推荐(0) 编辑

倍道而行:二分搜索树->[搜索+查找]

摘要: 二分搜索数的结构,如图: 满足以上的结构即可;和之前的堆结构(完全二叉树)是不一样的。因此,二分搜索的构造是不好用数组存储的,这里用的是节点这个对象存储其键值对。 二分搜索树的构建(也就是插入的流程) 主要讲解下面这个递归函数: 1.从根节点开始遍历,如果相同就更新value的值, 2. 如果 no 阅读全文

posted @ 2018-03-19 10:22 成长的船 阅读(232) 评论(0) 推荐(0) 编辑

导航