一、二叉树
1:概念
计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。
2:分类
1:平衡二叉树:任意一个节点其左节点的层数与右节点的层数相差不超过1
2:完全二叉树:
除了叶子节点(没有子节点) 之外每个节点都有两个子节点
3 : 满二叉树:
(1) 所有层都是满的
(2) 要么没有子节点,有子节点就必须要有两个
4、二叉树的描述方式
前序:首先访问根节点 (根--》 左--》 右)
中序: 中间访问根节点(左--》 根 --》右)
后序: 最后访问根节点(左--》 右 --》 根)
5:数组去重和排序
1:数组去重(4)
(1):对象的 属性唯一值
(2):indexof属性比较返回数组
(3):定义一个flag;拿数组的第一个值,作为返回数组的第一个值,外层循环遍历数组,内层循返回数组,拿到数组中的值一一和 返回数组值比较,如果有相等就返回,最后判断flag是否push到返回数组。
2:排序
1:冒泡排序
两两笔记,每次呢选出 最大的一个,循环数组的长度。
2:选择排序
外层每次遍历,找出最小的数值与第一个值交欢