原文:二叉搜索树的第k个结点

题目描述 给定一棵二叉搜索树,请找出其中的第k小的结点。例如, , , , , , , 中,按结点数值大小顺序第三小结点的值为 。 分析 二叉搜索树的一个特点就是二叉搜索树的中序遍历得到的序列是递增有序的,那么想要获得节点数值大小顺序第几,可以通过中序遍历得到的序列获得。 方法一 采用ArrayList保存获得的序列 方法二 在递归时通过一个计数器,这里需要注意的是当计数器等于k值时表示已经找到 ...

2019-04-12 11:11 0 878 推荐指数:

查看详情

【Java】 剑指offer(54) 二叉搜索树的第k结点

本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目   给定一棵二叉搜索树,请找出其中的第k小的结点。 思路   设置全局变量index=0,对BST进行中序遍历,每遍历一个结点,index+1,当index=k时,该结点 ...

Thu Nov 15 00:14:00 CST 2018 0 940
给定一颗二叉搜索树,请找出其中的第k大的结点

//概念问题 二叉搜索树 要么为空 如果左节点不为空 那么根节点的值大于左节点 如果右节点不为空 那么右节点的值大根节点的值//对二叉排序树的中序遍历 是一个递增的序列 ...

Wed Mar 14 01:05:00 CST 2018 0 1437
二叉搜索树(BST)中查找第K个大的结点之非递归实现

一个被广泛使用的面试题: 给定一个二叉搜索树,请找出其中的第K个大的结点。 PS:我第一次在面试的时候被问到这个问题而且让我直接在白纸上写的时候,直接蒙圈了,因为没有刷题准备,所以就会有伤害。知耻而后勇,于是我回家花了两个半小时(在不参考任何书本和网路上的源码的前提下),从构建BST开始,到实现 ...

Mon Jan 16 18:34:00 CST 2017 0 1407
二叉搜索树

目录 一、什么是二叉搜索树 二、二叉搜索操作的特别函数: 三、二叉查找树的查找操作:Find 四、查找最大和最小元素 五、二叉搜索树的插入 六、二叉搜索树的删除 6.1 删除的是叶结点 6.2 删除的结点只有一个孩子结点 ...

Tue Sep 17 02:59:00 CST 2019 0 419
二叉搜索树

一、二叉搜索树的特点 二叉搜索树的特点:对于中的每个节点X,它的左子树中所有关键字值小于X的关键字值,而它的右子树中所有关键字值大于X的关键字值。 根据这个性质,对一个二叉树进行中序遍历,如果是单调递增的,则可以说明这个二叉搜索树。 LeetCode题目98:验证二叉搜索树(https ...

Fri Nov 22 07:52:00 CST 2019 1 3809
二叉搜索树中第K小的元素

给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明:你可以假设 k 总是有效的,1 ≤ k二叉搜索树元素个数。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 1示例 ...

Mon Dec 02 04:45:00 CST 2019 0 277
面试题:二叉搜索树的第K个节点

题目描述:给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。 思路1:非递归中序遍历 思路2:递归中序遍历 这个不是很懂 ...

Mon Aug 27 06:31:00 CST 2018 0 765
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM