docker-compose 搭建最简单的 Spark 集群
用 docker 搭建 spark 非常快捷
B-树
这个笔记为B树自在人心,看不懂,我当场把这个树吃掉!的概括.
概念B-树可以理解为平衡二叉树的拓展, 它也是平衡的, 但是每个节点可以有多个关键字. ‘B’ 后面的 ‘-‘ 不是减号.
下面是一棵 B-树的例子:
B-树的存储结构
\begin{array}{|c|c|c|c|c|c|}
\hline \mathrm{n} & \text { Key }_1 & \text { Key }_{2} & \ldots & \text { Key}_{n-1} & \text { Key}_n \\
\hline \mathrm{p}_{0} & \mathrm{p}_{1} & \mathrm{p}_{2} & \ldots & \mathrm{p}_{n-1} & \mathrm{p}_n \\
\hline
\end{array}其中, n 为当前结点关键字个数, $\text{p}_i$ 是指向孩子结点的指针.
性质对于 m 阶 B-树:
每个结点至多有 m 个分支 (度数最多为 m), 而最少分支数要分情况:
根结点: 最少为 2.
非根非失败结点: ...
散列
复杂度分析:
顺序查找: O(n)
二分查找: O($\log_2n$)
散列方法: O(C)
散列表与散列方法将一个元素的关键码和存储位置之间建立对应的函数关系 Hash( ), 使得每个关键码与结构中的唯一的存储位置相对应:
Address=Hash( )
需要解决两个问题:
找到一个合适的散列函数,避免或尽量减少冲突
拟定解决冲突的方案
散列函数取余法
\rm hash(key) = key\%p, p\leq m散列表中地址数位m, p为不大于m但最接近m的质数.
取最大质数是为了减少冲突.
平方取中法
hash(key) = key^2的中间部分
长度取决于表的大小. 如表长 = $2^9$ =$(512)_{10}$ , 地址 $000\sim 777$,
key
平方
散列地址
$(2061)_8$
$4\underline{310}541$
$310$
$(1100)_8$
$1\underline{210}000$
210
乘法杂凑函数
\rm hash(key) = M\times((\phi \ ...
图的应用
图的应用
并发程序设计--信号量与 PV 操作
信号量与 PV 操作, 比起管程来讲好理解
原生 JavaScript + NodeJS(Express 框架) 做一个简陋的登录注册项目
前端抄自 Pixiv. 图片 PID 忘记存了
使用 Neovim 和 VimTeX 撰写 LaTeX (Lua 配置)
使用 Vim 或者 Neovim 来作为撰写 $\LaTeX$ 工具的教程屡见不鲜, 但是大都是基于 VimScript, 很少见到有使用 Lua 配置的
解决 Linux 下 IntelliJ 系列软件的 IDE 中输入框位置不正确
Wiki 上让参考"此指导", 然而并不需要看那么多
Linux 版本 WPS 缩放问题导致字体模糊的解决方法
终于有原生 WPS 了, 打开一看却发现字体糊成一团,就好像没有抗锯齿
Docker 入门笔记
Docker 基础知识.框架来源于 BV1og4y1q7M4,部分内容翻译自 docs.docker.com