4.1 元素删除 约定: 删除一个结点z,如果有该结点有子结点,需要查找该结点的左树最大值y来替换,同时又需要用叶结点x来替换y的位置。 在二叉树中删除一个结点有以下几种情况,以删除红结点为例,删除黑结点也差不多,最重要的多必须检查代替的结点是不是子结点,是不是黑结点。 Tip: 算法导论中谈到找右 ...
分类:
其他好文 时间:
2020-01-03 09:14:24
阅读次数:
106
一:Set类型 set数据不重复,元素无序,添加删除复杂度都是O1,value为NULL的Hash表 sadd (添加) 返回成功添加的个数 smembers key 显示所有元素 sismember key value 判断元素是否存在,是返回1,否返回0 scard key 返回元素的个数 sr ...
分类:
其他好文 时间:
2020-01-03 00:32:45
阅读次数:
95
一、扩容的基本思路 JDK1.8中,ConcurrentHashMap最复杂的部分就是扩容/数据迁移,涉及多线程的合作和rehash。 扩容思路 Hash表的扩容包含的两个步骤: ① table数据的扩容 table数组的扩容,一般就是新建一个2倍大小的桶数组,这个过程通过一个单线程完成,且不允许出 ...
分类:
其他好文 时间:
2020-01-02 22:07:01
阅读次数:
67
mysql索引数据结构选择的是B+树。以下列出可选用的数据结构,和他们所存在的一些缺点。 二叉树(如果是线性增长的数据,则二叉树会一直增加深度)红黑树 (虽然红黑树解决了线性增长的数据问题,但是对于百万数据来说,树的深度还是太深)hash表(hash算法这种适用于查询单条数据,根据key-value ...
分类:
数据库 时间:
2020-01-02 18:53:24
阅读次数:
89
Redis 有 5 种基础数据结构,分别为:string (字符串)、list (列表)、set (集合)、hash (哈希) 和 zset (有序集合)。 今天来说一下hash(哈希),hash的数据结构和java中的hashMap结构一样,数组+链表的二维结构 向hash结构中存入元素:hset ...
分类:
其他好文 时间:
2020-01-02 15:35:26
阅读次数:
118
Vue的路由实现:hash模式 和 history模式hash模式:在浏览器中符号“#”,#以及#后面的字符称之为hash,用window.location.hash读取;特点:hash虽然在URL中,但不被包括在HTTP请求中;用来指导浏览器动作,对服务端安全无用,hash不会重加载页面。hash ...
分类:
其他好文 时间:
2020-01-01 23:21:21
阅读次数:
67
验证码一键式自动识别、免费短信接收、包含一些转码、解密、时间戳转换、IP查询、HASH、自动解密等功能, 喜欢就 star 以表支持 下载 Python爬虫代码下载 声明 此项目以研究学习、减轻测试量为目的,禁止用于非法用途。 软件有可能会被杀毒软件误杀,设置信任即可。 功能树 验证码自动识别服务 ...
分类:
编程语言 时间:
2020-01-01 22:14:35
阅读次数:
649
什么是map?类似于对象的数据结构,成员键可以是任何类型的值。具体化:我们知道原先对象内属性名只能是字符串,而Map属性名可以是字符串,也可以是对象或数组。它是一个更完善的hash结构。属性:方法:补充说明:1、遍历顺序:插入顺序 2、对同一个键多次赋值,后面的值将覆盖前面的值 3、对同一个对象的引 ...
分类:
其他好文 时间:
2020-01-01 11:51:24
阅读次数:
86
负载因子:元素个数>=桶个数*负载因子,则触发扩容。默认桶个数16,默认负载因子0.75。HashMap的容量是2的幂次可以把哈希取模的操作变成位运算以加快运算速度,当length是2的幂次时,a%length <=> a&(length-1) (比如101101%1000 <=>101101&11 ...
分类:
其他好文 时间:
2020-01-01 09:29:30
阅读次数:
77
DefaultListableBeanFactory中: DefaultListableBeanFactory实现了BeanDefinitionRegistry,这个接口的实现完成BeanDefinition向容器的注册,这个注册过程不复杂,就是把解析得到的BeanDefinition设置到hash ...
分类:
编程语言 时间:
2019-12-31 21:54:52
阅读次数:
78