上一页 1 2 3 4 5 6 ··· 8 下一页
摘要: AVL 树就是在 BST 树的基础上,引入了 “节点平衡” 的概念,即任意一个节点的左右子树的高度差不超过 1,为了维持节点的平衡,引入了四种旋转操作: 左孩子的左子树太高,进行【右旋】操作; 右孩子的右子树太高,进行【左旋】操作; 左孩子的右子树太高,进行【左-右旋转】操作,也叫【左平衡】操作; 阅读全文
posted @ 2023-01-16 22:56 Leaos 阅读(58) 评论(0) 推荐(0) 编辑
摘要: BST树称为【二叉搜索树(Binary Search Tree)】或者【二叉排序树(Binary Sort Tree)】,它或者是一颗空树,或者是具有如下性质的二叉树: 若左子树不为空,则左子树上所有节点的值均小于它的根节点的值; 若右子树不为空,则右子树上所有结点的值均大于它的根结点的值; 左右子 阅读全文
posted @ 2023-01-16 21:47 Leaos 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 一个良好的分布式哈希方案,应该具有良好的单调性,即服务节点的增减不会造成大量哈希的重新定位。 首先,一致性哈希算法会将整个哈希值空间理解成一个环,其取值范围是 $0\sim2^{32}-1$ 共 4G 的整数空间: 然后,将所有的服务器进行哈希,最终落在这个一致性哈希环上。现在假设有 A、B、C 三 阅读全文
posted @ 2023-01-11 22:49 Leaos 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 1. 定义 如果查找关键字时不需要比较就可以获得需要记录的存储位置,这就称作【散列技术】。它是在记录的存储位置和它的关键字之间建立一个确定的对应关系 f,使得每个关键字 key 对应一个存储位置 f(key)。把这种对应关系 f 称为【散列函数】,又称【哈希(hash)函数】,采用散列技术将记录存储 阅读全文
posted @ 2022-12-31 18:56 Leaos 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 1.表级锁&行级锁 数据库中的锁通常分为两种: 表级锁:对整张表加锁。开销小,加锁快,不会出现死锁。但是锁的粒度大,发生锁冲突的概率高,并发度低。 行级锁:对某行记录加锁。开销大,加锁慢,会出现死锁。但是锁的粒度小,发生锁冲突的概率低,并发度高。 2.排它锁&共享锁 排它锁(Exclusive):又 阅读全文
posted @ 2022-12-22 20:08 Leaos 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 1.错误日志 错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日志。 mysqld 使用错误日志名 host_name.err 并默认在参数 DATADIR( 阅读全文
posted @ 2022-12-22 20:04 Leaos 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 1.冒泡排序 特点:相邻元素两两比较,把值大的元素往下交换。 缺点:冒泡排序的时间复杂度太高 冒泡排序的过程如下图所示,其展示了一趟排序的过程,在下一趟的排序过程中,最后一个排序完成的元素无需进行遍历,重复此过程,直到整个数组排序完成: 其实现代码如下: void bubbleSort(vector 阅读全文
posted @ 2022-12-22 19:59 Leaos 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 1. 二叉堆 1.1 二叉堆的定义 二叉堆在逻辑上是一颗完全二叉树,而在存储方式上还是用数组进行存储的。二叉堆具有如下性质,如果当前节点在数组中的索引为 ,那么有: 其左子节点在数组中的索引为 $2i+1$; 其右子节点在数组中的索引为 $2i+2$; 其父节点在数组中的索引为 $(i-1)/2$; 阅读全文
posted @ 2022-12-22 01:24 Leaos 阅读(33) 评论(0) 推荐(0) 编辑
摘要: Nginx 源码版本: 1.13.1 Nginx 内存池的定义主要位于如下两个文件中: ngx_palloc.h ngx_palloc.c 首先是几个重要的宏定义: #define NGX_MAX_ALLOC_FROM_POOL (ngx_pagesize - 1) #define NGX_DEFA 阅读全文
posted @ 2022-12-20 01:14 Leaos 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 二分搜索算法适用于有序数组。如果按照暴力搜索算法,那么需要从头到尾遍历数组元素,时间复杂度为 O(n),而如果使用二分搜索,那么其时间复杂度为 O(logn),根据时间复杂度曲线图可知,二分搜索的算法效率要优于线性查找。 二分搜索的实现可以分为非递归和递归两种。 1. 非递归版本 如果使用非递归版本 阅读全文
posted @ 2022-12-17 20:12 Leaos 阅读(88) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 8 下一页