
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
哈希表hash的扩容字典dict的结构哈希表hash的扩容(rehash)渐进式哈希字典dict的结构了解hash的扩容之前,需要先了解hash的底层实现:dict。dict所使用的哈希表由 dict.h/dictht 结构定义:typedef struct dictht {// 哈希表数组dictEntry **table;// 哈希表大小unsigned long size;// 哈希表大小掩
define和const的区别主要在于编译器处理方式,类型检查以及内存占用的不同。编译器处理方式:define宏:在预处理阶段展开。const常量:编译运行阶段使用。类型检查(安全性):define宏:没有类型,不做任何类型检查,仅仅是展开。const常量:有具体的类型,在编译阶段会执行类型检查。内存占用:define:不分配内存,给出的是立即数,有多少次使用就进行多少次替换,在内存中会有多个拷贝
这里写目录标题数字签名数字证书数字证书的原理数字证书的特点如何验证证书机构的公钥不是伪造的数字签名数字签名是非对称密钥加密技术与数字摘要技术的应用,数字签名就是用加密算法加密message的摘要(摘要通过hash函数得到)而生成的内容。发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用发送方的私钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首
注:题目:给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。示例 1:输入:n = 3输出:5示例 2:输入:n = 1输出:1提示:1 <= n <= 19题解:思路我们应该先举几个例子,画画图,看看有没有什么规律,如图:n为1的时候有一棵树,n为2有两棵树,这个是很直观的。来看看n为3的时候,有哪几种
二叉树的统一迭代法迭代法中序遍历迭代法前序遍历迭代法后序遍历我们发现迭代法实现的先中后序,其实风格也不是那么统一,除了先序和后序,有关联,中序完全就是另一个风格了,一会用栈遍历,一会又用指针来遍历。其实针对三种遍历方式,使用迭代法是可以写出统一风格的代码!接下来介绍一下统一写法。我们以中序遍历为例,使用栈的话,无法同时解决访问节点(遍历节点)和处理节点(将元素放进结果集)不一致的情况。那我们就将访
注:此动态规划题目可以将空间复杂度优化到O(1)。题目:输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。提示:1 <= arr.length <= 10^5-100 <=
这里写目录标题数据库索引介绍索引的优点索引的缺点什么时候使用索引什么时候不使用索引Mysql索引的结构Innodb存储引擎(默认是 B+Tree索引)MyISAM存储引擎(默认是 FULLTEXT索引)Memory存储引擎(默认是 Hash索引) 默认MySQL索引为什么大量使用B+Tree为什么不用Hash表为什么不用红黑树(AVL树)为什么不用B树B+树的查找过程数据库索引介绍MySQL官方对
目录悲观锁悲观锁按使用性质分类共享锁(S锁)排他锁(X锁)更新锁(U锁)悲观锁按作用范围分类(按锁的粒度分类)行锁表锁悲观锁的实现乐观锁乐观锁的实现版本号时间戳待更新字段所有字段悲观锁的优缺点乐观锁的优缺点乐观锁与悲观锁的选择数据库锁的种类一般分为两种:一种是悲观锁,一种乐观锁。悲观锁悲观锁(Pessimistic Lock)具有强烈的独占和排他特性,它指的是对数据被外界修改持保守态度,因此,在整
这里写目录标题什么是数据库慢查询?MySQL 慢查询的相关参数解释慢查询日志配置最大连接数的查看与设置常见的慢查询优化什么是数据库慢查询?数据库慢查询,就是查询时间超过了我们设定的时间的语句。可以通过以下语句查看设定的时间:默认的设定时间是10秒,也可以通过下面这个语句修改默认的设定时间:set long_query_time=0.0001;MySQL 慢查询的相关参数解释slow_query_l
这里写目录标题为什么需要NATNAT的特点NAT的实现方式静态NAT动态NATNAPTNAT技术的优缺点优点缺点为什么需要NATIPv4地址随着用户的增多压力不断增大,但是每一个路由器的IP地址下面都有很多的私有地址,外部消息只需要找到这个路由器,这个路由器把消息找到真正目的主机传递给它即可。每一个路由器都可以分配很多私有地址,并且不同路由器的私有地址可以重复,通过这种地址转换,能够大大增加地址的







