解题思路: 1、定义一个结构体,来存储二叉排序树 typedef struct { int data; int left; int right; int parent; int h; } T; 2、再定义一个结构体,将输入数据存入 typedef struct { int data; int pos ...
分类:
其他好文 时间:
2020-03-27 12:49:50
阅读次数:
125
/*给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。*//*二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所 ...
分类:
编程语言 时间:
2020-03-23 17:14:51
阅读次数:
159
1 二叉排序树/二叉查找树/Binary Sort Tree + 1种对排序和查找都很有用的特殊二叉树 + 叉排序树的弊端的解决方案:平衡二叉树 + 二叉排序树必须满足的3条性质(或是具有如下特征的二叉树) + 若它的左子树不为空,则:左子树上所有结点的值< 它根结点的值 + 若它的右子树不为空,则 ...
分类:
编程语言 时间:
2020-03-15 13:28:13
阅读次数:
87
题目描述 编写一棵二叉排序树,来支持以下 $6$ 种操作: 1. 插入 $x$ 数 2. 删除 $x$ 数(若有多个相同的数,因只删除一个;如果 $x$ 不存在则不需要删除) 3. 查询 $x$ 数的排名(排名定义为比当前数小的数的个数 $+1$ ;如果 $x$ 不存在则输出 $ 1$) 4. 查询 ...
分类:
编程语言 时间:
2020-03-14 00:54:48
阅读次数:
65
1.ArrayList常用方法add 增加 记住有一种是再指定位置添加contains 判断是否存在 get 获取指定位置的对象 indexOf 获取对象所处的位置 remove 删除 set 替换 size 获取大小 toArray 转换为数组 addAll 把另一个容器所有对象都加进来 clea ...
分类:
其他好文 时间:
2020-03-09 22:31:40
阅读次数:
61
1.如何判断链表为环 答:有两种方法 1,快慢指针:一个一步走,一个两步走,如果快指针遇到NULL代表无环,快慢相遇代表有环 2,哈希:用哈希记录之前的节点,然后判断当前节点是否在之前出现过 2.蓄水池抽样原理 答:不会,明天补上>_< 3..C中static的作用? 答:1,隐藏:如果全局变量定义 ...
分类:
其他好文 时间:
2020-03-06 00:54:31
阅读次数:
67
基本思想: 无; 关键点: 无; #include<stdio.h> #include<stdlib.h> #include<iostream> #include<string> #include<vector> #include<algorithm> #include<map> #include< ...
分类:
编程语言 时间:
2020-03-05 01:05:33
阅读次数:
86
基本思想: 注意建树的引用问题; 要么return node* 要么node* &root 关键点: 无; #include<stdio.h> #include<stdlib.h> #include<iostream> #include<string> #include<vector> #inclu ...
分类:
编程语言 时间:
2020-03-05 01:04:49
阅读次数:
61
1. 题目 2. 思路 1. 如下图 发现规律,对于最左边来说,后面所有的集合都是先小后大或者先大后小,如果小大交错那么不符合 2. 使用1中规律确定是否为镜像,结合二叉排序树的特点,用递归建立树 3. 输出树的后序遍历 3. 注意点 1. 发现规律比较困难 2. 树的题目一般都要用递归 4. 代码 ...
分类:
其他好文 时间:
2020-03-02 01:00:34
阅读次数:
54
一、技术总结 1. 这一题就是将给的数,构造一个完全二叉排序树 2. 关键就是要利用完全二叉树的特点,如果该结点的下标是x,那么左子树的结点下标一定是2 x,右子树下标是2 x+1,然后二叉排序树的中序遍历是从小到大的。 二、参考代码 ...
分类:
其他好文 时间:
2020-02-20 00:11:52
阅读次数:
58