基本数据结构

数据结构的类型定义在tango.type里面。

名为fn或者compare的参数通常都是函数,比如.map(fn).forEach(fn).sort(compare)等。 .map(fn)的默认参数是 x => x,而默认的排序规则采用递增排序:(x, y) => x - y

类型构造器

new tango.type.LinkedList()

构造一个单向链接表。

new tango.type.Stack()

构造一个栈。

new tango.type.Queue()

构造一个队列。

new tango.type.MaxHeap(): heap

构造一个最大堆。

new tango.type.MinHeap(compare): heap

构造一个最小堆。

new tango.type.QuickFind(n: number): unionfind

构造一个基于QuickFind算法的并查集。

new tango.type.WeightedQuickUnion(n: number): unionfind

构造一个基于WeightedQuickUnion算法的并查集。

new tango.type.BinarySearchTree(compare)

构造一个基于指定排序规则的二叉树。

new tango.type.Graph(n: number, directed: bool = false)

构造一个节点数目为nn的无权重图,默认为无向图。

new tango.type.GraphW(n: number, directed: bool = false)

构造一个节点数目为nn的有权重图,默认为无向图。

回到页面上方

线性集合的通则

诸如 LinkedListStackQueue 这样的线性集合,我们定义默认的遍历方式:

  • LinkedList 按照索引顺序从00n1n-1遍历;
  • Stack按照先进后出的规则遍历;
  • Queue按照先进先出的规则遍历。

线性集合都有如下的公共函数:

size(): number

获取线性集合的长度。

isEmpty(): boolean

获取一个布尔值,当线性集合为空时,该布尔值为true,否则为false

forEach(x => void): void

按照默认的遍历规则,对线性集合的每一个元素,应用指定的函数。

map(x => any): [any]

按照默认的遍历规则,对线性集合的每一个元素,映射为新的值,返回一个新的数组(结果集)。

toArray(): []

按照默认的遍历规则,将线性集合映射为一个新的数组。

回到页面上方

results matching ""

    No results matching ""