算法
文章平均质量分 95
Knight丶
coder
展开
-
用 Rust 从 0 到 1 实现一个最简化的 KV 存储引擎
本文将从 下层的数据编码 到 上层的 kv 数据读写接口实现 完整介绍如何实现一个最简化的 kv 存储引擎,适合 Bitcask 存储模型和 Rust 语言的入门。本文的完整代码已开源在:GitHub - Morgan279/miniDB: A mini kv database demo that using simplified bitcask storage model with rust implementation.......原创 2022-06-15 23:53:15 · 2538 阅读 · 1 评论 -
白话解析B+树并附Java完整实现
白话解析B+树并附Java完整实现原创 2021-12-28 20:26:20 · 5157 阅读 · 6 评论 -
简单无向图的core分解算法
基本概念在图(Graph)模型中,常常会有一些概念用来描述图的某些特征,core就是其中之一。core主要用来描述图中点之间的紧密(cohesive)程度,core的定义为:设有简单无向图G = (V, E),其中V为点集,E为边集,∃S = (V', E'),V'⊆V, E'⊆E,∀v∈V' d(v) >= k, 且不存在u∈V - V',使得∀v∈V'∪{u} d(v) >= k, 则称S为k-core,其中d(v)表示v的度数(与点v相连的边数)用白话说就是如果图G中的存在原创 2021-07-04 16:35:37 · 4246 阅读 · 14 评论 -
树的子结构
题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解题思路要判断B树是否是A树的子结构,总共可分为两步:1.找到A树中的与B根节点值相等的节点(可能不止一个)2.若存在一个满足1条件的节点, 且该节点的左子树与B的左子树一致 右子树也与B的右子树一致 则B是A的子结构,否则B不是A的子结构 A...原创 2019-02-18 12:15:09 · 111 阅读 · 0 评论 -
跳台阶 & 变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。变态跳台阶:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 分析思路先来看跳台阶:青蛙最后一次跳到第n级台阶有几种情况?只有两种可能:1.从第n-1级台阶一次跳1级跳到第n级台阶...原创 2019-02-07 13:54:45 · 156 阅读 · 0 评论 -
旋转数组的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 此题的一个关键信息就是输入的数组是一个非减排序的数组,根据旋转规则很容易得出:旋转点是极小值点,也是最...原创 2019-02-07 12:58:07 · 100 阅读 · 0 评论 -
用两个栈来实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解决这个问题只需要搞清楚两点:1.栈的数据结构保证了数据的先进后出2.队列的数据结构保证了数据的先进先出 也就是说出栈顺序是入栈顺序的颠倒,出队顺序依旧维持了入队顺序题目给了两个栈,于是很容易想到,用另一个栈将原先的出栈顺序和入栈顺序再颠倒一遍即可达到队列的效果 给...原创 2019-02-07 12:28:30 · 103 阅读 · 0 评论 -
图解单向链表反转
单向链表反转需要用到三个指针:prev:当前节点的前一个节点cur:当前节点next:当前节点的下一个节点初始化:prev = null , cur = head首先将next赋值为当前节点的下一个节点, 即next= cur->next为了实现链表的反转,需要将cur的next指针指向前一个节点,也就是prev节点:此时就完成了链表中1节点的反转,为...原创 2019-02-06 14:31:58 · 578 阅读 · 1 评论 -
根据前序、中序遍历结果重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 分析思路如果对二叉树的前、中、后序遍历不是很清楚的可参考这篇博文:https://blog.csdn.net/qq_33243189/a...原创 2019-02-06 13:37:02 · 658 阅读 · 0 评论