![Avatar notebook default](https://cdn2.jianshu.io/assets/default_avatar/avatar-notebook-default-640f7dde88592bdf6417d8ce1902636e.png)
拓扑排序的原理很简单,就是将一组数据之间存在局部依赖的数据按一定顺序执行,保证所有事件都能顺利执行,例如我们穿衣服的时候肯定是先穿内裤再传裤子,...
AC自动机 AC自动机是一个经典的多模式串匹配算法,它可以实现对主串的一次扫描来匹配多个模式串的功能。实现AC自动机就是在Trie树的基础上加上...
Trie树,也叫字典树,它是一种专门处理字符串匹配的数据结构,用来解决在一组字符串集合中快速查找某个字符串的问题。Trie树的核心思想就是,将几...
字符串匹配问题也算是我们开发过程中经常遇到的一个问题,今天我们总结几个常用的字符串匹配的方式: BF(brute Force)暴力匹配。 这种模...
图可以分为以下三种: 图中的各个概念 图中的元素我们称之为顶点(vertex);顶点之间的连写称之为边;对于无向图来说,顶点连接的边的个数称之为...
什么是堆? 堆是满足下面两个条件的一种二叉树 它是一棵完全二叉树; 堆中每个节点的值都必须大于等于(大根堆)或者小于等于(小根堆)其子树中每个节...
我们知道二叉查找树是一种支持高效查询的数据结构。它的插入,删除,查询效率跟树的高度成正比;当这棵树是平衡二叉树是效率最高为O(logn);当这个...
散列表其实就是数组+hash函数构成。所以它就具有了数组和hash函数的所有优点。数组,支持按索引随机访问数组中的任意数据;hash函数,可以将...
我们知道二叉搜索算法能够高效的查询数据,但是需要一块连续的内存,而且增删改效率很低。跳表,是基于链表实现的一种类似“二分”的算法。它可以快速的实...
文集作者