题目描述 编写一棵二叉排序树,来支持以下 $6$ 种操作: 1. 插入 $x$ 数 2. 删除 $x$ 数(若有多个相同的数,因只删除一个;如果 $x$ 不存在则不需要删除) 3. 查询 $x$ 数的排名(排名定义为比当前数小的数的个数 $+1$ ;如果 $x$ 不存在则输出 $ 1$) 4. 查询 ...
分类:
编程语言 时间:
2020-03-14 00:54:48
阅读次数:
65
《大话数据结构》内容简介:数据结构介绍、算法推导大O阶的方法;顺序结构与链式结构差异、栈与队列的应用;串的朴素模式匹配、KMP模式匹配算法;二叉树前中后序遍历、赫夫曼树及应用;图的深度、广度遍历;最小生成树两种算法、最短路径两种算法;拓扑排序与关键路径算法;折半查找、插值查找、斐波那契查找等静态查找 ...
分类:
其他好文 时间:
2020-03-10 21:29:34
阅读次数:
67
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
一、技术总结 1. 这一题是二叉排序树的问题,题目主要是给出二叉排序树的先序遍历或者二叉排序树镜像的先序遍历或其他,如果是前两种输出YES,并且输出各自的后序遍历。后者直接输出NO 2. 关键在于创建树,据我观察发现无论是镜像的先序遍历还是原来二叉排序树的先序遍历,可以直接根据二叉排序树的特点进行树 ...
分类:
其他好文 时间:
2020-02-19 23:57:49
阅读次数:
114
Tree 星星为什么这么渺小?那是因为他们把自己放的太高了! 背景:简单了解二叉树、平衡树、红黑树、B树和B+树之间的特点和差异。 1. 二叉排序树的特点 a、树的左边节点比根节点小,右边节点比根节点大; b、左右子树也都是二叉排序树; c、但是,在一些特殊情况下,比如插入数据是有序的,就会发生退化 ...
分类:
其他好文 时间:
2020-02-17 12:09:48
阅读次数:
53