梳理活动的顺序仅仅是拓扑排序可以完成的功能之一,更有价值的是估量完成整个事件的最短时间。比如生产一辆汽车,虽然安排...[作者空间]
最小生成树和最短路径可以解决无序的问题,此处的无序指的是对顶点的访问顺序没有要求,但是很多场景对顺序有严格的要求,...[作者空间]
公交和地铁是最普遍的交通工具了,但是通常情况下去往某处有多种出行方案,有的少换乘,有的时间短,有的步行少,等等。这...[作者空间]
我们已经掌握了图的概念和基本操作,接下来了解一下图可以解决的问题。图主要用来解决多对多问题,比如有多个起点和终点,...[作者空间]
如果是遍历一个数组,只需要从下标0到下标N-1循环就好了,遍历一个链表只需要从头指针开始直到没有next为止,即使...[作者空间]
图(Graph)是数据结构中最复杂的一种结构,线性表描述的是一对一关系,树描述的是一对多关系,而图描述的是多对多关...[作者空间]
通过前面的知识,我们已经知道,有序的数据在查找时有极大的性能提升。很多查找都基于有序数据,但并不是所有的结构都能像...[作者空间]
我们应该都使用过String.indexOf("xxx")方法来查找某个字符或字符串在String中的位置,这就是...[作者空间]
计算机的发展速度很快,CPU、内存、显卡等已不再是计算机性能的瓶颈,SSD硬盘的出现也使得硬盘读写速度有了质的飞跃...[作者空间]
基本概念 仅存储数据而不获取数据是不可能的,这就是查找。查找的定义如下: 查找(Searching)就是根据给定的...[作者空间]
早在分析Java集合源码时,我们对树和二叉树就有了基本的了解,部分知识可以查看Java集合源码分析之基础(三):树...[作者空间]
前言 数组与链表结构能够解决很多一对一的线性表问题,但是在许多情况下,使用最原始的数据结构过于复杂,而且不够安全。...[作者空间]
前言 线性表是指数据之间是一对一的关系,比如数组和链表都属于这一范畴。数组和链表又代表了两种存储方式:顺序存储和链...[作者空间]
初衷 学习数据结构与算法的知识,并没有一个完备的理由。如果是作为一名算法工程师,这无可厚非,但对于我们大部分的开发...[作者空间]