当前位置: 首页 > Web前端 > JavaScript

Day76-100数据结构二叉树(十三)—树的遍历

时间:2023-03-27 15:45:59 JavaScript

TreeOverview树是一种常用的数据结构,用来模拟具有树状结构特性的数据集。树中的每个节点都有一个值和所有子节点的列表。从图的角度来看,树也可以看作是一个有N个节点和N-1条边的有向无环图。二叉树是一种比较典型的树结构。顾名思义,二叉树是每个节点最多有两棵子树的树结构,通常子树被称为“左子树”和“右子树”。(一)定义1.前序遍历前序遍历先访问根节点,然后遍历左子树,最后遍历右子树。2.中序遍历中序遍历是先遍历左子树,然后访问根节点,再遍历右子树。一般来说,对于一棵二叉搜索树,我们可以通过中序遍历得到一个递增的有序序列。我们会在另一张卡片(数据结构导论-二叉搜索树)中再次提及。3、后序遍历后序遍历是先遍历左子树,再遍历右子树,最后访问树的根节点。值得注意的是,当你删除树中的节点时,删除过程会按照后序遍历的顺序进行。也就是说,当你删除一个节点时,你会先删除它的左节点和它的右节点,然后再删除节点本身。(二)目的1.前序遍历实现目录结构的展示2.中序遍历对于二叉搜索树,中序遍历得到一个递增的有序序列。查找原始表达式:您可以使用中序遍历轻松找到原始表达式。但是程序处理这个表达式并不容易,因为你必须检查操作的优先级。当编译器在底层实现时,用户可以实现基本的加减乘除,如a*b+c。3.后序遍历当你删除树中的一个节点时,删除过程将按照后序遍历的顺序进行。也就是说,当你删除一个节点时,你会先删除它的左节点和它的右节点,然后再删除节点本身。累计数——实现目录下文件占用数据大小的计算。以上三种递归遍历方式时间复杂度和空间复杂度分析时间复杂度0(n)空间复杂度O(n)问题什么是二叉搜索树?二叉搜索树(又作:二叉搜索树、二叉排序树)它要么是一棵空树,要么是一棵具有以下性质的二叉树:如果它的左子树不为空,那么左上所有节点的值子树小于其根节点的值;如果它的右子树不为空,则右子树上所有节点的值都大于它的根节点的值;它的左子树和右子树也是二叉排序树。参考链接:https://leetcode.cn/leetbook/...写在学习路上的最后一句话,经常懈怠《有想学技术需要监督的同学嘛~》https://mp.weixin.qq.com/s/Fy...