跳到主要内容

2 篇博文 含有标签「算法」

查看所有标签

二叉查找树的 js 实现

· 阅读需 11 分钟

二叉树(Binary tree)是每个节点最多只有两个分支(不存在分支度大于2的节点)的树结构。通常分支被称作“左子树”和“右子树”。二叉树的分支具有左右次序,不能颠倒。

二叉树分很多种,而二叉查找树是其中比较经典的一款,也称二叉搜索树、有序二叉树、排序二叉树,是指一棵空树或者具有下列性质的二叉树:

  1. 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值;
  2. 若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值;
  3. 任意节点的左、右子树也分别为二叉查找树;
  4. 没有键值相等的节点。

单向链表的 js 实现

· 阅读需 7 分钟

链表是一种数据结构,有单向链表、双向链表和循环链表,单向链表事其中最简单的一种。它有一个 head 指针,整个链表有很多节点构成,而 head 会始终指向链表的头节点;每个节点由两个信息组成:节点数据和指向下一个节点的指针,最后一个节点的指针为 null