摘要:
二分搜索树(Binary Search Tree,BST)是一种常见的数据结构,它能够高效地存储和查找数据。它的特点是每个节点都包含一个值,并且每个节点的左子树的值都小于节点的值,右子树的值都大于节点的值。 查找 通过这种有序的排列方式,我们可以在二分搜索树中进行高效的查找操作。想象一下,如果我们要 阅读全文
摘要:
珂珂喜欢吃香蕉。这里有 n 堆香蕉,第 i 堆中有piles[i]根香蕉。警卫已经离开了,将在 h 小时后回来。 珂珂可以决定她吃香蕉的速度 k (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 k 根。 如果这堆香蕉少于 k 根她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。 阅读全文
摘要:
也是利用二分的upper法实现的,不知道什么是upper?看这里 -> 二分查找法upper版(找大于某个值的最小下标)递归+非递归版 - 翰林猿 - 博客园 (cnblogs.com) 思路: 先利用upper找到上界的index 拿着index-1的下标(也就是重复值的最大下标)向前遍历,一直到 阅读全文
摘要:
如果有等于target的元素就返回最大的下标元素。 如果没有等于target的元素,那么就返回大于target的最小元素,即这一篇文章实现的upper函数。二分查找法upper版(找大于某个值的最小下标)递归+非递归版 - 翰林猿 - 博客园 (cnblogs.com),当然你们也可以更改返回值-1 阅读全文
摘要:
需求:比如说查询一个班级大于60分的最低分等等。 思路与二分法基本相同,只不过是对比的逻辑发生了一些小变化,这里所说的上界就是指大于某个值的最小下标。 当mid < target :说明 target 的上界还在mid的右边,所以要去找比mid大的 当mid > target:说明 mid 有可能是 阅读全文
摘要:
MVCC并发版本控制 本文大部分来自《MySQL是怎样运行的》,这里只是简单总结,用于各位回忆和复习。 版本链 对于使用 InnoDB 存储引擎的表来说,它的聚簇索引记录中都包含两个必要的隐藏列(不知道的快去看《MySQL是怎样运行的》) trx_id :每次一个事务对某条聚簇索引记录进行改动时,都 阅读全文
摘要:
Git使用教程(理论实体结合体系版) 下载安装: 按照这个博客来就好 Windows系统Git安装教程(详解Git安装过程) - 学为所用 - 博客园 (cnblogs.com) Git命令大全: Git 大全 - Gitee.com 最小配置: 在桌面右键点击Git Bash Here进入命令行, 阅读全文
摘要:
具象化理解数据库的三级模式及二级映像 形象一点来说,把数据看做货物,数据库是仓库,模式就是表格。 你有一个仓库,仓库里成千上万的货物,随便你怎么堆,你堆个正方体,堆个圆柱体,甚至随便乱堆都行,你怎么堆的叫内模式。 完事你写了一张表,表上对全部货物按某个标准分类,而且标清了啥货物在哪(这个操作就是从内 阅读全文
摘要:
因原版观感不佳,搬运至此。 作者:Jimin 链接:https://www.imooc.com/article/21444 来源:慕课网 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "- 阅读全文
摘要:
选择排序算法 工作原理: 每一次从待排序的数据元素中选中最小的一个元素,然后,再从剩余未排序元素中继续寻找最小元素,将2个元素交换位置,就达到了已排序的元素一直是从小到大了。 这个算法的时间复杂度为O(n²),空间复杂度为O(1)。 /** * @Author: 翰林猿 * @Description 阅读全文