跳转到内容
返回

《学习JavaScript数据结构与算法》笔记---树

本文源码 这里

什么是树

1.一种非线性结构,由n(n>=1)个有限节点组成的有层次关系的集合2.如下图: 树 3.HTML的所有dom节点其实就是一棵dom树,如图 dom树

树的特点

优点

缺点


**存在即合理,根据自己会继续要选择合适的结构**


关于树的一些术语

树

1.位于顶部的节点叫做根节点;图中的A 2.树中的每个元素叫做节点;图中的所有圆点3.内部节点:有子节点的节点;图中的abcde 4.外部节点也叫叶节点:没有子节点的节点;图中的# 5.父节点:a时bc的父节点;是其他节点的祖先节点;6.子节点:bc是a的子节点;7.子树:由某个子节点和他的子节点组成的树;8.节点的度:节点的子节点个数9.节点的层:根节点是1层(或0层),子节点层数依次加一;10.树的深度:层数最大的节点;是树的深度

一些常见树

二叉树(Binary Tree)

完美二叉树

完全二叉树(Complete Binary Tree)

二叉搜索树(Binary Search Tree) **重点**

非平衡树

1.一颗左右子树节点分布不平衡的树,叫做非平衡树2.一颗非平衡树相当于写了一个链表,体现不出树的优势; 非平衡二叉树;

平衡树

1.也是二叉搜索树2.每个节点的左子树节点个数和右子树节点个数相近3.在二叉搜索树的实现上多封装了一些条件来保证不会出现非平衡树那样的情况的树 常见平衡树:



上一篇
《学习JavaScript数据结构与算法》笔记---红黑树
下一篇
《学习JavaScript数据结构与算法》笔记---哈希表
×