![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二叉树
一水茶缘YY
前端小工程师,全栈去实践
展开
-
二叉树的建立和三种遍历的递归方式
二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2^{i-1}个结点;深度为k的二叉树至多有2^k-1个结点;对任何一棵二叉树T,如果其终端结点数为n_0,度为2的结点数为n_2,则n_0=n_2+1。一棵深度为k,且有2^k-1个节点称之为满二叉树;深度为k,有n个节点的二叉树,当且仅当其每一个节点都与深度为k的满二叉树中,序号为原创 2017-07-24 11:42:48 · 479 阅读 · 0 评论 -
二叉树三种遍历的非递归思路(JAVASCRIPT)
二叉树在图论中是这样定义的:二叉树是一个连通的无环图,并且每一个顶点的度不大于3。有根二叉树还要满足根结点的度不大于2。有了根结点之后,每个顶点定义了唯一的父结点,和最多2个子结点。然而,没有足够的信息来区分左结点和右结点。如果不考虑连通性,允许图中有多个连通分量,这样的结构叫做森林。这里,我使用javascript来写二叉树遍历的三种非递归方式,因为楼主学的是javascript,对于C,JAVA原创 2017-07-27 15:38:40 · 1950 阅读 · 0 评论 -
堆排序的JS实现
JS实现堆排序 堆排序 堆的定义: 堆是满足下列性质的数列{R1,R2,R3,…,Rn}: 小顶堆:Ri <= R2i, Ri <= R2i 大顶堆:Ri >= R2i, Ri >= R2i堆排序是在树形选择排序的基础上进一步进行优化 简单来说:就是假如将此序列看成一棵完全二叉树,要使这个无序列表变成堆,则小于等于n/2转载 2017-07-28 15:03:12 · 340 阅读 · 0 评论