区块链应用
区块链
B 树与 B+ 树
B 树和 B+ 树是多路平衡查找树(Multi-way Balanced Search Tree),专为磁盘 I/O 设计的数据结构。折半查找和 BST/AVL 都是内存中的查找结构,而数据库索引动辄存储百万条记录,不可能全放内存。B 树/B+ 树的核心优势是:每个结点存储多个关键字,一次磁盘 I/O 读一个结点,大幅减少磁盘访问次数。
外部排序
当数据量大到内存放不下时,所有内部排序算法都失效了。外部排序的策略:先把数据分成小块在内存中排序后写回磁盘(生成初始归并段),再用多路归并合并成最终有序文件。核心瓶颈在于磁盘 I/O。
图的基本概念与存储结构
图(Graph)G 由顶点集 V和边集 E组成,记为 G = (V, E)。顶点之间的关系是任意的——任意两个顶点之间都可能存在边,这是图与树、线性表的本质区别。
图的遍历
图的遍历需要解决两个特殊问题:一是图中可能存在回路,需要标记已访问顶点防止重复访问;二是图可能不连通,需要遍历所有顶点,对每个未访问顶点启动一次遍历。
KMP 算法
KMP(Knuth-Morris-Pratt)算法是 串 的模式匹配优化算法。其核心思想是:利用已匹配信息确定模式串的滑动位置,主串指针永不回退。
merge-sort
归并排序是唯一一个既稳定又保证 O(n log n) 的比较排序。代价是需要 O(n) 额外空间。
查找算法
查找表(Search Table)是由同一类型的数据元素组成的集合。根据操作方式不同分为两类:
最短路径与拓扑排序
BFS 求无权图单源最短路径利用其逐层扩展的特性:首次到达即最短。详见 图的遍历。
排序基础概念
排序(Sorting)是将一组数据元素按照关键字的递增(或递减)顺序重新排列的过程。










