数据结构应用:索引
为什么需要索引? 在实际的软件开发中,业务纷繁复杂,功能千变万化,但是,万变不离其宗。如果抛开这些业务和功能的 …
为什么需要索引? 在实际的软件开发中,业务纷繁复杂,功能千变万化,但是,万变不离其宗。如果抛开这些业务和功能的 …
递归,二分查找
微博、微信、LinkedIn 这些社交软件我想你肯定都玩过吧。在微博中,两个人可以互相关注;在微信中,两个人可 …
1. 解决问题的前提是定义清楚问题 如何定义清楚问题呢?除了对问题进行详细的调研,还有一个办法,那就是,通过对 …
一种特殊的树,“堆”(Heap)。堆这种数据结构的应用场景非常多,最经典的莫过于堆排序了。堆排序是一种原地的、 …
二叉查找树是最常用的一种二叉树,它支持快速插入、删除、查找操作,各个操作的时间复杂度跟树的高度成正比,理想情况 …
树(Tree) 我们首先来看,什么是“树”?再完备的定义,都没有图直观。所以我在图中画了几棵“树”。你来看看, …
网页爬虫是搜索引擎中的非常重要的系统,负责爬取几十亿、上百亿的网页。爬虫的工作原理是,通过解析已经爬取页面中的 …
散列表也叫哈希表,它是数组的一种扩展,由数组演化而来。 散列思想 比如运动会上,运动员都有编号,现在要编程实现 …
栈 栈是一种“操作受限”的线性表,只允许在一端插入和删除数据,一种先进后出的容器结构,如图所示: 当某个数据集 …