二叉搜索树的后序遍历 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 解题思路 给出的数组是后序遍历,那么最后一个元素对应着树的根节点。 数组前部分对应左子树,其中元素都小于根节点;后部分对应右子树,其中元素 ...
分类:
其他好文 时间:
2019-12-29 01:02:54
阅读次数:
100
基于链表和二分搜索树实现Set,基于二分搜索树实现Map。 集合Set Set<E> void add<E> void remove<E> boolean contains<E> int getSize() boolean isEmpty() 1、 使用二分搜索树实现Set集合: package s ...
分类:
其他好文 时间:
2019-12-28 12:55:06
阅读次数:
68
索引 索引常见的几种类型 索引常见的类型有哈希索引,有序数组索引,二叉树索引,跳表等等。本文主要探讨 MySQL 的默认存储引擎 InnoDB 的索引结构。 InnoDB的索引结构 在InnoDB中是通过一种多路搜索树——B+树实现索引结构的。在B+树中是只有叶子结点会存储数据,而且所有叶子结点会形 ...
分类:
数据库 时间:
2019-12-24 09:44:15
阅读次数:
85
题目大意 给你一个带权无向图,满足图上任意一条边最多属于一个环,有$q$个询问,求$u,v$之间的最短路。 $n,q\leq 10000$ Solution 首先用Tarjan建一棵以$1$为根的搜索树,找出每个环,记录环的总长,将环内每个点$u$连向环内$dfs$序最小的点$v$,边权为$u$到$ ...
分类:
其他好文 时间:
2019-12-23 22:21:01
阅读次数:
81
二叉搜索树 二叉搜索树很明显来自于一种思想:二分查找。 二叉搜索树 很明显: 二叉搜索树并不要求是一棵完全二叉树 则左子树上所有结点的值均小于它的根结点的值;右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉搜索树。 对于二叉搜索树而言,有以下典型的操作: 1 插入,删除 2 查... ...
分类:
其他好文 时间:
2019-12-23 20:34:48
阅读次数:
82
刚开始学treap。。同学在台上给我们讲,貌似除我之外的机房dalao们都听懂了就我发呆。。。(滑稽) 于是,事后的窝只能自己上网翻书研究了。。。。 treap: treap=tree+heap,树+堆 也就是说,这个东西是个树,但是满足堆的性质。 前置知识: BST二叉搜索树: 度娘曰: 若它的左 ...
分类:
其他好文 时间:
2019-12-22 11:03:19
阅读次数:
90
700. 二叉搜索树中的搜索 树 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 思路: 二叉搜索树的特点为左比根小,右比根大。那么目标结点就有三种可能: 1. 和根一样大,那么直接返回根即可。 ...
分类:
其他好文 时间:
2019-12-22 10:23:15
阅读次数:
80
POJ2182题解——线段树 2019-12-20 by juruoOIer 1.线段树简介(来源:百度百科) 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(l ...
分类:
其他好文 时间:
2019-12-20 20:42:32
阅读次数:
161
关联式容器就是通过key值来寻找value,这个和数据库很相像,为了提升查找效率,因此关联式容器底层大多数用红黑树或哈希表来实现。 红黑树是高度平衡的二叉树,它也被称为平衡二元搜索树。 如上所示,正常++ite的访问出来的顺序即为中序遍历:5,6,7,8,10,11,12,13,15 set有两种插 ...
分类:
其他好文 时间:
2019-12-16 17:47:11
阅读次数:
95