A:Who is better? 题目链接:https://nanti.jisuanke.com/t/41383 题意: 类似于有N个石子,先手第一次不能拿完,每次后手只能拿 1 到 前一次拿的数量*2之间的数量,不能拿时则输 分析: 最近一直在刷博弈论的题,比赛的前一天晚上打的华东师范校赛第一题也 ...
分类:
其他好文 时间:
2019-09-08 09:43:20
阅读次数:
59
1 public V get(Object key) { 2 Node<K,V>[] tab; Node<K,V> e, p; int n, eh; K ek; 3 //寻址 4 int h = spread(key.hashCode()); 5 if ((tab = table) != null ... ...
分类:
编程语言 时间:
2019-09-07 13:21:10
阅读次数:
95
集合、散列、数学、算法,这几类的题目都比较少,放到一起讲。 1063就是 std::set 的使用,1092更水,这两道不做了。 集合-1085: 集合,表示方法多种多样,简单的有用数组表示的并查集,复杂的有基于红黑树的 std::set 。 但我也不知道当时整理的时候怎么把这道题分到集合里来了,但 ...
分类:
其他好文 时间:
2019-09-05 00:57:44
阅读次数:
89
AVL树好难!(其实还好啦~) 我本来想着今天应该做不完树了,没想到电脑里有一份讲义,PPT和源代码都有,就一遍复习一遍抄码了一遍,更没想到的是编译一遍通过,再没想到的是运行也正常,最没想到的是一遍AC。 其实很多题都有数,std::set 之类用的是红黑树,据说很复杂,比AVL树还要复杂的那种。但 ...
分类:
其他好文 时间:
2019-09-03 09:31:40
阅读次数:
91
性质 红黑树是满足下列性质的二叉树: 树中只有红色的节点和黑色的节点 根节点是黑色的 外部节点(NIL)都是黑色的 注意:这里的外部节点指的是这样的节点: 为了节省空间可以使他们指向同一个外部节点 对于C/C++语言来说可以不设外部节点,如果一个节点没有子节点,可以将其节点的指针域置为空,可以视空节 ...
分类:
其他好文 时间:
2019-09-01 21:38:56
阅读次数:
79
#include < unordered_map > map: map内部实现了一个红黑树(红黑树是非严格平衡二叉搜索树,而AVL是严格平衡二叉搜索树),红黑树具有自动排序的功能,因此map内部的所有元素都是有序的,红黑树的每一个节点都代表着map的一个元素。因此,对于map进行的查找,删除,添加等 ...
分类:
其他好文 时间:
2019-09-01 16:27:56
阅读次数:
77
hash_map 底层是hash表,查询时间复杂度是O(1) map 底层是红黑树,查询时间复杂度是O(logn) 字符hash模板 进制哈希 首先设一个进制数base,并设一个模数mod 而哈希其实就是把一个数转化为一个值,这个值是base进制的,储存在哈希表中,注意一下在存入的时候取模一下即可 ...
分类:
其他好文 时间:
2019-09-01 11:08:48
阅读次数:
101
一、概述 java.util.LinkedHahset 集合 extends HashSet 集合 在HashSet下面有一个子类java.util.LinkedHashSet,它的底层是一个哈希表(数组+链表/红黑树)+链表组合的一个数据存储结构,多了一条链表(记录元素的存储顺序),保证元素有序。 ...
分类:
编程语言 时间:
2019-08-31 19:42:22
阅读次数:
56
红黑树满足一下规则 1. 每个节点不是红色就是黑色 2.根节点为黑色 3.如果节点为红,其子节点必须为黑 4.任一节点至nil的任何路径,所包含的黑节点数必须相同。 5.叶子节点nil为黑色 当破坏了平衡时,在调整的时候需要用到左旋和右旋 左旋: 右旋: 代码实现: 1 void rb_tree:: ...
分类:
其他好文 时间:
2019-08-26 11:27:56
阅读次数:
64
hash索引o(1) B+树索引 o(logn) 为什么红黑树出现了,因为防止某些情况下二叉排序树退化为链表——诞生了二叉排序平衡树——树的性能取决于树的高度 为什么DB要用M路B树,为了再降低树的高低,减少db io 次数 为什么M不能无限大,因为会退化成有序数组,无法一次载入内存 ...
分类:
数据库 时间:
2019-08-25 18:29:09
阅读次数:
147