240 发简信
IP属地:陕西
  • 后缀树(suffix tree & array)

    定义:后缀数组(suffix array)是将字符串的所有后缀进行排序放入数组中。后缀树(suffix tree)则是所有后缀形成的字典树(trie)的一种压缩表示。后缀数组...

  • 活动/任务选择问题

    给定n个活动,已知它们的起止时间,如何选择活动能够使得单个人能够完成最多数量的活动,假设单个人同一个时间只能做单个活动。例1:考虑下面三个活动, 则单人最多可以完成两个活动:...

  • 现金流问题

    假设有一些朋友之间互相具有债务关系,如果已知他们之间的欠款和借款金额,问至少需要多少现金流才能解决它们之间的债务关系(所有借款都归还)。例如,下图表示三个朋友P0,P1,P2...

  • 火车站台数量问题

    火车站台数量问题 假设已知某个火车站的所有过往列车的到达arrival和离开departure时间(同一天),如果要求所有列车都不等待直接进站,问至少需要多少个站台。无需考虑...

  • Javascript图算法

    现实世界中很多事物都是以网络形式组织的,例如人们的社交网络,道路交通网络等。社交媒体的发达使网络的研究更加火热。网络在计算机中以图graph来表示,具体的表示方法将很大程度上...

  • Javascript二叉树和二叉查找树

    树是一种在计算机中广泛应用的非线性数据结构,数据以层次结构存储(hierarchical),磁盘的文件目录就是典型的树结构。和字典不同,树支持对数据进行有序存储。二叉树是最典...

  • Javascript 集合

    集合的特点是不包含重复元素,集合的元素通常无顺序之分。在系统编程中集合很常用,但是并非所有语言都原生支持集合。集合的三条理论: 不包含任何元素的集合为空集 两个集合包含的元素...

  • Javascript 哈希

    Hash表可以在常数时间内进行插入、删除和寻找,这是其它的数据结构难以做到的。通常使用Hash表是为了利用其高效的查找方法。Hash表的核心在于如何处理冲突,不同的hash算...

  • Javascript字典

    字典是一种存储键值对的数据结构,例如电话本,我们通常用人名来查询电话号码,这里的人名就是键,电话号码就是对应的值。Javascript中的Object类内部即实现为一个字典,...

  • javascript 链表LinkedList

    链表是一种非常常用的数据结构,相比数组,链表至少有以下优点: 数组长度固定,每次动态申请后需要移动所有元素,链表随着元素增删长度动态变化; 向数组中间插入/删除元素需要移动该...

  • Javascript 队列

    队列queue是一种先进先出FIFO的列表,数据在尾部添加,在首部删除。在日常生活中队列具有广泛的应用,例如银行排队、等待公交车排队等。队列的核心操作有两个:enqueue入...

  • Javascript 堆栈Stack

    Stack是一种高效率的数据结构,相比List,它仅支持在一端(尾部)进行存取操作,即常说的后进先出LIFO。在计算机底层和编程语言内部实现中以及现实问题中都有广泛的应用。 ...

  • Javascript 列表List

    List是日常生活中使用最多的一种数据组织工具,例如购物单,运货单,排名表等。注意List不适合需要进行频繁排序或查找的场景。List中的元素是按顺序组织(存储)起来的。元素...

  • Javascript 数组

    Javascript 中的数组array是一种特殊的对象,数组下标可以视为对象的属性名称,注意js内部会将数组下标整数转换为字符以统一表示对象。 数组对应类名称为Array,...