梳理活动的顺序仅仅是拓扑排序可以完成的功能之一,更有价值的是估量完成整个事件的最短时间。比如生产一辆汽车,虽然安排员工、准备原始材料是先行条件,...
梳理活动的顺序仅仅是拓扑排序可以完成的功能之一,更有价值的是估量完成整个事件的最短时间。比如生产一辆汽车,虽然安排员工、准备原始材料是先行条件,...
最小生成树和最短路径可以解决无序的问题,此处的无序指的是对顶点的访问顺序没有要求,但是很多场景对顺序有严格的要求,比如说建造一栋大楼必须先找好施...
公交和地铁是最普遍的交通工具了,但是通常情况下去往某处有多种出行方案,有的少换乘,有的时间短,有的步行少,等等。这就涉及到如何寻找一条最合适的路...
我们已经掌握了图的概念和基本操作,接下来了解一下图可以解决的问题。图主要用来解决多对多问题,比如有多个起点和终点,或者有多种选择的问题。例如我们...
如果是遍历一个数组,只需要从下标0到下标N-1循环就好了,遍历一个链表只需要从头指针开始直到没有next为止,即使是遍历一棵树,也可以从根结点开...
图(Graph)是数据结构中最复杂的一种结构,线性表描述的是一对一关系,树描述的是一对多关系,而图描述的是多对多关系。无论是一对一还是一对多,都...
通过前面的知识,我们已经知道,有序的数据在查找时有极大的性能提升。很多查找都基于有序数据,但并不是所有的结构都能像二叉排序树一样,在插入数据时就...
我们应该都使用过String.indexOf("xxx")方法来查找某个字符或字符串在String中的位置,这就是一个字符串的匹配问题。字符串匹...
计算机的发展速度很快,CPU、内存、显卡等已不再是计算机性能的瓶颈,SSD硬盘的出现也使得硬盘读写速度有了质的飞跃,但和内存相比依然有极大的差距...
基本概念 仅存储数据而不获取数据是不可能的,这就是查找。查找的定义如下: 查找(Searching)就是根据给定的某个值,在查找表中确定一个其关...
专题公告
计算机技术飞速发展,各种新的语言、新的框架、新的思想层出不穷,铺天盖地的新技术没有人能够完全掌握。然而它们都可能不会长久,在不久后就会被更新的技术取代,也就意味着我们依托于此的积累都不复存在,(当然这部分知识也极为重要,不过我们应该分出一部分精力研究一些基础理论知识)。但一些基础的理论不会被淹没,诸如计算机原理、操作系统原理、算法等,这些是计算机技术的基石。我们应该掌握不变的,以不变应万变,以免陷入`吾生也有涯,而知也无涯。以有涯随无涯,殆已!`的窘境。