基础概念JavaScript 是单线程的,为了处理异步操作,先是使用回调函数,接着使用 Promise,然后又使用 generator/yield,最后到本文要介绍的 async/await。 引用阮一峰大大的一句话 async 函数就是 generator 函数的语法糖。 首先看一个结合 Prom ...
堆
发表于
|
更新于
|
分类于
Data Structure and Algorithm
二叉堆什么是二叉堆只要满足下面的结构性质和堆序性质的,就是二叉堆 结构性质二叉堆是一颗被完全填满的二叉树,有可能的例外是在底层,底层上的元素从左到右填入。这样的树称为完全二叉树。 容易证明,一颗高为 h 的完全二叉树有$2^h$到$2^{h+1} - 1$个节点。这意味着,完全二叉树的高是$\lf ...
树
发表于
|
更新于
|
分类于
Data Structure and Algorithm
树的基本概念一棵树是一些节点的集合,这个集合可以是空集;若不是空集,则树由称做根(root)的节点$r$及 0 或多个非空的(子)树$T_1,T_2, ···,T_k$组成,这些子树中每一颗的根都被来自根$r$的一条有向的边所连接。每一颗子树的根叫作根$r$的儿子,而$r$是每一颗子树的根的父亲 ...