定义:后缀数组(suffix array)是将字符串的所有后缀进行排序放入数组中。后缀树(suffix tree)则是所有后缀形成的字典树(tr...
给定n个活动,已知它们的起止时间,如何选择活动能够使得单个人能够完成最多数量的活动,假设单个人同一个时间只能做单个活动。例1:考虑下面三个活动,...
假设有一些朋友之间互相具有债务关系,如果已知他们之间的欠款和借款金额,问至少需要多少现金流才能解决它们之间的债务关系(所有借款都归还)。例如,下...
火车站台数量问题 假设已知某个火车站的所有过往列车的到达arrival和离开departure时间(同一天),如果要求所有列车都不等待直接进站,...
现实世界中很多事物都是以网络形式组织的,例如人们的社交网络,道路交通网络等。社交媒体的发达使网络的研究更加火热。网络在计算机中以图graph来表...
树是一种在计算机中广泛应用的非线性数据结构,数据以层次结构存储(hierarchical),磁盘的文件目录就是典型的树结构。和字典不同,树支持对...
集合的特点是不包含重复元素,集合的元素通常无顺序之分。在系统编程中集合很常用,但是并非所有语言都原生支持集合。集合的三条理论: 不包含任何元素的...
Hash表可以在常数时间内进行插入、删除和寻找,这是其它的数据结构难以做到的。通常使用Hash表是为了利用其高效的查找方法。Hash表的核心在于...
字典是一种存储键值对的数据结构,例如电话本,我们通常用人名来查询电话号码,这里的人名就是键,电话号码就是对应的值。Javascript中的Obj...