是什么使得树遍历是前序的还是有序的?

2024-03-10

为什么通过根、左、右进行的树遍历称为前序?难道这不应该是有序的吗,因为根总是第一位的?

对我来说,为什么这样称呼它没有意义,因为根始终是第一个元素。


我们总是有这样的限制:左孩子在右孩子之前被访问。

主要区别在于根在哪里。

  • 如果根是before两个孩子,我们称之为预序。(根,左,右)

  • 如果根是after两个孩子,我们称之为后序。 (左、右、根)

  • 如果根位于两个孩子之间,我们称其为有序。 (左、根、右)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是什么使得树遍历是前序的还是有序的? 的相关文章

  • 在 C 中打印字符串的所有排列

    我正在学习回溯和递归 并且我陷入了打印字符串所有排列的算法 我用以下方法解决了它贝尔算法 http programminggeeks com bell algorithm for permutation 用于排列 但我无法理解递归方法 我在
  • 以与版本页面上相同的方式区分两个字符串的算法是什么?

    我正在尝试按短语区分两个字符串 类似于 StackOverflow 在版本编辑页面上区分两个字符串的方式 执行此操作的算法是什么 是否有 gems 或其他标准库可以实现此目的 编辑 我见过其他比较算法 Differ http github
  • 在二维平面中找到距离 P 点最近的 K 个点

    资料来源 亚马逊面试问题 解决方案1制作大小为 K 的堆并按最小距离收集点O NLogK 复杂 解决方案2 取大小为 N 的数组并按距离排序 应该使用QuickSort 霍尔修改 取前 K 点作为答案 这太复杂了 NlogN 但可以优化到近
  • 二进制字符串到十进制字符串

    下午好 如何将字符数多于语言最大整数类型中位数的二进制字符串转换为十进制字符串 换句话说 假设你有字符串 111001101001110100100 1001001111011100100 并且您不能先将其转换为整数 那么您将如何以 10
  • 获取无平方数的列表

    获得该值的一种方法是自然数 1 n 我们对每个因子进行因式分解 看看它们是否有重复的质因数 但这对于大的情况来说会花费很多时间n 那么有没有更好的方法从 1 中获取无平方数n 您可以使用埃拉托斯特尼筛法的修改版本 取一个布尔数组 1 n 预
  • 如何找到最长的回文子序列(不是它的长度)

    我想找出字符串中最长的回文子序列 我到处都找到了找出子序列长度的算法 并声明该算法也可以扩展以返回子序列 但我没有找到如何实现的 有人能解释一下我怎样才能得到序列吗 既然你提到了链接最长回文子序列 http www geeksforgeek
  • 当目标是查找某个字符串的所有出现情况时,KMP 最坏情况的复杂度是多少?

    我还想知道哪种算法在查找另一个字符串中所有出现的字符串时具有最坏情况的复杂性 博耶 摩尔算法似乎具有线性时间复杂度 KMP 算法在查找字符串中所有出现的模式时具有线性复杂度 如 Boyer Moore 算法1 如果您尝试在 aaaaaaaa
  • 用于插入/删除/排名/选择查询的最佳数据结构/算法

    到目前为止 我知道像AVL树和红黑树这样的自平衡BST可以在O log n 次内完成这些操作 然而 要使用这些结构 我们必须自己实现AVL树或RB树 我听说有一个算法 实现这四个操作而不使用自平衡 BST 有了我们自己定义的结构 我们就需要
  • 两个非嵌套循环的大 O 表示法

    对于两个非嵌套的 for 循环 大 O 表示法是什么 Example for int i 0 i
  • 如何在Scala中实现尾递归快速排序

    我写了一个递归版本 def quickSort T xs List T p T T gt Boolean List T xs match case Nil gt Nil case gt val x xs head val left righ
  • 反转二进制网络

    如何反转二元方程 以便找到哪些输入将产生给定的输出 Example Inputs i0 through i8 Outputs o0 through o8 Operators XOR AND 二元方程 1 i0 1 i1 0 i2 1 i3
  • 按百分比减少多边形面积

    我有一个由点 x y 组成的多边形 我想做的是将其减少一个百分比 请记住 我不想只是扩大规模 多边形应该有一种内部边界 其宽度取决于百分比 该内部边界被多边形切断 谁知道可以实现这一目标的算法 输入 点数组 百分比 输出 点数组 你所寻求的
  • 搜索/排序算法 - 是否有类似 GoF 的列表?

    我是一名自学成才的开发人员 坦率地说 我不太擅长找出在任何特定情况下使用哪种搜索或排序算法 我只是想知道是否有设计模式 esque 列出了以太坊中可用的常见算法 供我添加书签 就像是 算法名称 带有别名 如果有的话 它解决的问题 大O成本
  • C 中的菱形数组排序

    我有以下 C 语言作业 我基本上需要一种方法而不是解决方案 我们有一个 13 x 13 的数组 在数组中 我们有一个需要考虑的菱形形状 该菱形之外的所有内容都初始化为 1 不重要 下面的 5 x 5 数组示例 x x 1 x x x 2 2
  • Exposé 布局算法

    我正在制作一些项目 其布局类似于 Mac OS X 在 Expos 中对窗口所做的操作 它适应项目的长宽比和可用区域的长宽比 基本上 可用区域分为行和列 每个单元格 行和列的交集 中放置一个项目 这些项目必须保持其纵横比 此处width h
  • 在 Java 中实现排列算法的技巧

    作为学校项目的一部分 我需要编写一个函数 该函数将接受整数 N 并返回数组 0 1 N 1 的每个排列的二维数组 该声明看起来像 public static int permutations int N 该算法描述于http www usn
  • 在 O(n) 时间内找到 n x n 矩阵中的局部最小值

    所以 这不是我的家庭作业问题 而是取自 coursera 算法和数据结构课程的未评分作业 现已完成 You are given an n by n grid of distinct numbers A number is a local m
  • 如何高效地在屏幕上精确绘制N个点?

    这听起来是一个简单的问题 但我发现要获得良好的性能是非常棘手的 我提出的第一个算法是随机绘制点 从一组中检查是否已绘制 否则绘制 如果我们只绘制几个点 那么这种方法效果很好 但当我们接近填满屏幕时 速度会灾难性地减慢 我想出的最好的方法是构
  • 快速求解子集和

    考虑这种解决子集和问题的方法 def subset summing to zero activities subsets 0 for activity cost in activities iteritems old subsets sub
  • 如何将无向图转换为 DAG?

    The 维基页面 http en wikipedia org wiki Directed acyclic graph Relation to other kinds of graphs says 任何无向图都可以通过为其顶点选择总顺序并将每

随机推荐

  • Jquery 5秒后显示按钮[重复]

    这个问题在这里已经有答案了 所以我得到了这个按钮 我需要在 5 秒后显示它 我没有 jquery 或 javascript 经验 HTML 代码 p You need to wait 0 before you can proceed p
  • 有没有像 Reflector 这样的 COM 库工具?

    有没有像 Reflector 这样的 COM 库工具 我想打开一个 COM 库并浏览类和接口 就像在 Reflector 中一样 如果可能的话 我宁愿不安装 Visual Basic 6 0 来执行此操作 但方式不同 有许多工具可以让您检查
  • 在 Sqlalchemy 中导入 create_engine 时出现循环导入错误

    我正在尝试使用 Python 进行 CS50 Web 开发课程 在 sql 部分中 在从 sqlalchemy 导入 create engine 时出现此错误 ImportError 无法从部分初始化的模块 sqlalchemy 导入名称
  • PHP 事件监听器最佳实践实现

    我正在尝试用 PHP 创建一个类似 CMS 的系统 使其尽可能模块化和可扩展 有人可以为我提供在 PHP 中创建事件侦听器系统 例如 Drupal 系统的非常简化版本 的最佳实践方案 创建挂钩并在一个简短的示例中实现它们也很好 嗯 从实现的
  • Laravel Eloquent Join 与 Inner Join?

    所以我在弄清楚如何进行 feed 风格的 mysql 调用时遇到了一些麻烦 我不知道这是一个雄辩的问题还是 mysql 的问题 我确信两者都是可能的 我只是需要一些帮助 所以我有一个用户 他们进入他们的提要页面 在此页面上显示来自他们朋友的
  • 选择所有 li,但不选择子项

    我有这个代码 li li this 这是选择所有的li在我的代码中 这很好用 但我想要 li排除li位于子菜单中 ul li a href blah 1 a li ul li a href sub 1 a li li a href sub
  • Ant复制过程中如何删除一个文件夹

    我有一个文件 其文件路径类似于 LibraryX A Stuff FileY txt 我在 Ant 构建中将其用作包含文件 但是 我需要在复制过程中删除路径的 LibraryX A 部分 文件从 LibraryX A Stuff FileY
  • Knex/SQL:将一对多联接合并到一个对象中

    我有两个表 page 和 page css 我想要page和page css之间是一对多的关系 一个页面包含多个page css 参见表结构 Page table structure Page css table structure 这是我
  • 如何将 csv 文件的内容读入类中,并将每个 csv 行作为类实例

    我是一名 Python 新手 几天来我一直在为课堂作业而苦苦挣扎 我有一个 csv 文件 其中包含这样的数据 id latitude longitude city label yr1970 yr1975 yr1980 yr1985 yr19
  • 如何区分真阳性和真阴性?

    本质上 我有一个代表真实情况的二值图像 并且有一个取自算法结果的二值图像 现在的任务是找到重叠区域来评估算法的性能 即找到真正的阳性 TP 真阴性 TN 假阳性 FP 和假阴性 FN 我已经正确找到了 FP 和 FN 的值 但是我无法理解如
  • 如何编写将使用express api的azure函数

    我有一个天蓝色的功能 在index js中我有以下代码 module exports function context req const createHandler require azure function express creat
  • 如何在文件上传时显示加载图形?

    文件应通过 Ajax 或 Iframe 在后台上传 我应该能够通过 JavaScript 检测上传何时完成 这样我就可以隐藏加载图形并将用户重定向到新的 URL 使用Jquery就可以了 查看jQuery 上传 http www uploa
  • Xamarin iOS 本地推送通知

    如何安排本地 无服务器 推送通知 不是警报 从我的应用程序触发 我只想从我的应用程序安排一个通知 并让它在通知中心的给定时间触发 我尝试使用 LocalNotifications 但它们似乎仅在应用程序打开时才起作用 并且仅在应用程序关闭时
  • Twitter Bootstrap Navbar 与 AngularJS - 折叠不起作用

    我正在使用 Angular 和 Twitter Bootstrap 导航栏 并尝试让折叠功能正常工作 部分 program html div class navbar navbar inverse navbar static top div
  • 如何在Androidcamera2 API中同时配置前后两个摄像头?

    我想将前置和后置两个摄像头配置到 Androidcamera2 API 中 以便同时从两个摄像头拍摄照片和视频 我创建了 2 个纹理视图 当我打开一个摄像头 前置或后置 时 我的代码工作正常 但每当我试图同时打开两个摄像头 代码在创建会话时
  • 使用CSS检测输入中是否有文本——在我正在访问且无法控制的页面上?

    有没有办法通过 CSS 检测输入中是否有文本 我尝试过使用 empty伪类 我尝试过使用 value 这两个都不起作用 我似乎无法找到单一的解决方案 我想这一定是可能的 考虑到我们有伪类 checked and indeterminate
  • Xcode 突然停止在硬件上运行项目:“无法启动 xxx.app:.. 没有这样的文件..”[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Xcode 已停止运行我的应用程序 它在我从设备中删除它并尝试通过在 Xcode 中重新运行它来重新安装后立即启动 我之前已经做过数百
  • 使用 boost Spirit 解析带有二进制信封的文本文件

    我目前正在尝试为 ASCII 文本文件编写一个解析器 该文件被一个带有校验和的小信封包围 该文件的基本结构是 我想将有效负载提取到另一个字符串中以将其提供给 下一个解析器 我用来解析这个信封的解析器表达式是 qi phrase parse
  • 如何杀死shell的所有子进程?

    我正在编写一个 bash 脚本 它可以完成几件事 一开始它会启动几个监视脚本 每个脚本都运行一些其他工具 在我的主脚本结束时 我想杀死从我的外壳中产生的所有东西 所以 它可能看起来像这样 bin bash some monitor1 sh
  • 是什么使得树遍历是前序的还是有序的?

    为什么通过根 左 右进行的树遍历称为前序 难道这不应该是有序的吗 因为根总是第一位的 对我来说 为什么这样称呼它没有意义 因为根始终是第一个元素 我们总是有这样的限制 左孩子在右孩子之前被访问 主要区别在于根在哪里 如果根是before两个