树中的节点是否被视为其自己的祖先?

2024-05-05

我想知道计算机科学背景下对“祖先”定义的共识是什么。

我问只是因为在算法简介 http://en.wikipedia.org/wiki/Introduction_to_Algorithms,第二版,第 14 页。第259章 有算法的描述Tree-Successor(x)这看起来很奇怪。在寻找节点的后继者时x,

[...]如果节点的右子树x是空的并且x有继任者y, then y是最低祖先x谁的左孩子也是x.

在二叉搜索树中,根具有键2和孩子们1 and 3, 的继承者1是它的父级2。在这种情况下,x是的左孩子x的继任者,y。那么根据书上的定义,x一定是它自己的祖先,除非我错过了什么。

我还没有找到任何东西errata http://www.cs.dartmouth.edu/~thc/clrs-bugs/bugs.php对这个。


这只是一个定义问题,但在这种情况下,yes。 CLRS 将 x 的祖先定义为从根到 x 的唯一路径上的任何节点,根据定义,该路径包括 x。

您引用的句子片段首先提到下一页的练习 12.2-6,其中指定了这一点:

(回想一下,每个节点都是它自己的祖先。)

:-)

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

树中的节点是否被视为其自己的祖先? 的相关文章

  • 使用C标准数学库精确计算标准正态分布的CDF

    标准 C 数学库不提供计算标准正态分布 CDF 的函数 normcdf 然而 它确实提供了密切相关的函数 误差函数 erf 和互补误差函数 erfc 计算 CDF 的最快方法通常是通过误差函数 使用预定义常量 M SQRT1 2 来表示 d
  • 将嵌套字典中的所有键从camelCase转换为snake_case

    我有一本类似这样的字典 firstName abc lastName xyz favoriteMovies Star Wars The lone ranger favoriteCountries country China capitalC
  • 如何将无向图转换为 DAG?

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

    I m having a hard time understanding Tarjan s algorithm for articulation points I m currently following this tutorial he
  • 解释一下从 N 个给定集合中的每一个中给出第 K 个最大数字的示例?

    今天我尝试解决一个Facebook 编程挑战赛 https facebook interviewstreet com recruit challenges 我遇到的挑战是 酒吧问题 可以找到here https github com alo
  • 无需构建树即可预测霍夫曼压缩比

    我有一个二进制文件 我知道其中每个符号出现的次数 如果我要使用霍夫曼算法压缩它 我需要预测压缩文件的长度 我只对假设的输出长度感兴趣 而不对单个符号的代码感兴趣 因此构建霍夫曼树似乎是多余的 作为一个例子 我需要得到类似的东西 包含 4 个
  • 将字符串中的“奇怪”字符转换为罗马字符

    我需要能够将用户输入仅转换为 a z 罗马字符 不区分大小写 所以 我感兴趣的角色只有26个 然而 用户可以输入他们想要的任何 形式 的字符 西班牙语 n 法语 e 和德语 u 都可以包含用户输入中的重音符号 这些重音符号会被程序删除 我已
  • 数组中连续元素的最大乘积

    我在现场面试的时候被问到了这个算法问题 由于没有要求我签署保密协议 我将其发布在这里寻求答案 给定一个数组REAL不包含 0 的数字 找到产生最大乘积的连续元素 该算法应在线性时间内运行 我考虑过以下方法 使用两个数组 第一个是利用DP思想
  • 0-1背包算法

    以下 0 1 背包问题是否可解 浮动 正值和 浮动 权重 可以是正数或负数 背包的 浮动 容量 gt 0 我平均有 这是一个相对简单的二进制程序 我建议用蛮力进行修剪 如果任何时候你超过了允许的重量 你不需要尝试其他物品的组合 你可以丢弃整
  • 在常数空间中创建 1..N 的随机排列

    我正在寻找枚举固定空间中数字 1 N 的随机排列 这意味着我无法将所有数字存储在列表中 原因是 N 可能非常大 超过可用内存 我仍然希望能够一次遍历这样一个数字的排列 只访问每个数字一次 我知道对于某些 N 可以这样做 许多随机数生成器随机
  • shell脚本中关联数组的时间复杂度

    我想知道在 shell 脚本中使用关联数组时如何构造 实现 另外 我想知道基于 shell 脚本的关联数组的时间复杂度是否是最佳的 因为我们可以使用字母和数字作为它们各自的键 编辑 他们使用什么哈希函数 如果您使用关联数组 则不能通过 使用
  • 找到一条穿过任意节点序列的最短路径?

    In 这个先前的问题 https stackoverflow com questions 7314333 find shortest path from vertex u to v passing through a vertex wOP询
  • 迭代任意大小的子集

    我可以迭代大小为 1 的子集 for int a 0 a lt size a 或大小为 2 的子集 for int a1 0 a1 lt size a1 for int a2 a1 1 a2 lt size a2 or 3 for int
  • 如何从迭代器推导连续内存

    不知何故 本土stl copy VC Dinkumware 上的算法表明它可以使用memcpy 可以轻松复制的数据 一个凡人能做到这一点吗 假设每个元素都是普通可复制的 random access iterator 是否意味着连续内存 标准
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • 用于开始和/或包含搜索的最快字符串集合结构/算法是什么

    我有以下情况 我有一个大的字符串集合 比如说 250 000 平均长度可能是 30 我要做的就是在这些搜索中进行许多搜索 大多数搜索都是 StartsWith 和 Contains 类型的 该集合在运行时是静态的 这意味着选择的集合的初始读
  • 在java中使用BUBBLE SORT对二维字符串数组进行排序

    类似的问题已经被问过 但从来没有关于二维字符串数组 因此在尝试了很长时间之后我找不到我想要的 我正在尝试使用 BubbleSort 对 java 中的 2D 字符串数组进行排序 作为输入 我收到一个二维字符串数组 一个表 以及您应该排序的
  • 每个术语出现的次数

    我得到了一个数组a n 2 where n can be 10 5最大时有n个科目和n个学生 全部编号为 1 2 n a i 0 and a i 1 1 lt i lt n 表示在第 i 个科目中 所有来自a i 0 to a i 1 通过
  • 照片马赛克算法。如何在给定基本图像和瓷砖列表的情况下创建马赛克照片?

    Hy 我要做的是创建一个程序 使用 C 或 C 它将 24 位 像素位图和图像集合作为输入 我必须创建一个马赛克图像 类似于使用库的输入图像给定的图像 创建与输入类似的马赛克照片 到目前为止 我可以访问输入的图像像素及其颜色 但我有点卡住了
  • 需要解释搜索最小大和的算法

    我正在解决 Codility 问题作为练习 但无法回答其中一个问题 我在互联网上找到了答案 但我不明白这个算法是如何工作的 有人可以引导我逐步完成它吗 这是问题 You are given integers K M and a non em

随机推荐

  • C++“智能指针”模板,自动转换为裸指针,但无法显式删除

    我正在一个非常大的遗留 C 代码库中工作 该代码库将保持匿名 作为遗留代码库 它在各处传递原始指针 但我们正在逐渐尝试使其现代化 因此也有一些智能指针模板 这些智能指针 与 Boost 的scoped ptr 不同 具有到原始指针的隐式转换
  • CSS - a:访问过:悬停?

    如何应用字体color仅指向已经存在的超链接visited并且正在被hover通过鼠标 本质上 我想做的是 a visited hover color red 是的 这是可能的 这是一个例子 a href http www google c
  • SQL CE 天蓝色连接

    我正在使用 azure 发布 asp net 应用程序 当我在本地发布时 它工作正常 但在 Azure 上 与数据库相关的所有内容都没有显示 并收到 由于发生内部服务器错误 无法显示页面 想知道我的连接字符串是否有问题 http webly
  • 如何从 Android 广播接收器显示对话框?

    理想情况下 我不想启动一项活动来执行此操作 当 WiFi 连接丢失时 我的应用程序需要关闭 因为这对我们来说是一个致命错误 我想显示一条错误消息并让用户按 确定 按钮 然后退出应用程序 解决这个问题的最佳方法是什么 Thanks AFAIK
  • 为什么我无法在 ES6 中导出已声明的函数?

    我读过 MDN 的文档 好吧 主要是新模块功能很好 让我困惑的是一些小事情export 现在 让我们看看 when I export function foo x return x x or export const foo x gt re
  • 正则表达式贪心问题 (C#)

    我有一个像 text 和 text 这样的输入字符串 我想用相应的 html 标签替换 wiki 语法 input text and text 理想的输出 h1 text and h1 text 但使用以下代码我得到以下输出 var reg
  • 获取集合时的 ​​Backbone.js 进度条

    我想在用新内容更新应用程序时显示进度条 我想最好的办法是在集合上调用 fetch 时执行此操作 我获取的内容主要是图像 视频海报等 但我只获取链接 而不是 base64 字符串或大的东西 我想做的是在获取图像链接时用进度条覆盖屏幕 渲染视图
  • 在 nohup 中使用别名

    为什么以下不起作用 alias sayHello bin echo Hello world sayHello Hello world nohup sayHello nohup appending output to nohup out no
  • authContext.AcquireTokenSilentAsync 抛出错误

    我参考了this https github com Azure Samples active directory dotnet graphapi web git 项目 该项目具有用于连接并获取有关用户配置文件的信息的代码 在运行该项目时 我
  • Java 中如何将 long 转换为 int?

    Java 中如何将 long 转换为 int 在 Java 8 中更新 Math toIntExact value 原答案 简单的类型转换应该可以做到 long l 100000 int i int l 但请注意 较大的数字 通常大于214
  • 如何更改散点图色调图例手柄

    下面这段代码使用seaborn生成的散点图如下 ax sns scatterplot x Param 1 y Param 2 hue Process style Item data df s 30 legend full 我想去掉圆圈中的颜
  • 签署程序集“<程序集名称>.dll”时出现加密失败 –“提供程序版本错误”

    我从知名提供商处购买了身份验证证书 现在我想对程序集进行强命名 然后对其进行数字签名 这是我到目前为止所做的 通过运行 sn exe p keypair pfx key snk 从 pfx 中提取公钥 选中项目属性签名选项卡上的 对程序集进
  • 如何显示 pg-search 多重搜索结果的摘录

    我已经在 Heroku 上的 Rails 应用程序中设置了 pg search query fast PgSearch multisearch query gt
  • 带有 Angular 8 自定义 webpack 配置的 svg-sprite-loader

    我正在尝试使用自定义 webpack 配置将 svg sprite loader 包 用于创建 svg sprite 与我的 Angular 8 项目一起使用 我正在使用以下自定义配置 const SpriteLoaderPlugin re
  • Prolog 罗马数字(属性语法)

    我正在做一项作业prolog questions tagged prolog扫描数字列表并应返回该列表是否是有效的罗马数字以及数字的十进制值 前任 1 roman N I N 1 true 2 当我运行我认为应该工作的程序时 十进制值总是正
  • 我可以将命名空间对象从可变对象转换为不可变对象吗?

    我从命令行参数收到一个命名空间对象 而且我不想修改它 我可以这样做吗 或者你有什么想法吗 coding utf 8 import argparse def parse args parser argparse ArgumentParser
  • 在Java中如何将数字转换为字母?

    有没有比这更好的方法将数字转换为其字母等效值 private String getCharForNumber int i char alphabet ABCDEFGHIJKLMNOPQRSTUVWXYZ toCharArray if i g
  • 知道 akka actor 何时完成

    有几个人和我一起从事一个项目 一直在试图找出解决这个问题的最佳方法 看起来这应该是经常需要的标准东西 但由于某种原因我们似乎无法得到正确的答案 如果我有一些工作要做 并且我向路由器抛出一堆消息 我如何知道所有工作何时完成 例如 如果我们正在
  • C# Memory.Span 意外慢

    在尝试新产品的同时Span
  • 树中的节点是否被视为其自己的祖先?

    我想知道计算机科学背景下对 祖先 定义的共识是什么 我问只是因为在算法简介 http en wikipedia org wiki Introduction to Algorithms 第二版 第 14 页 第259章 有算法的描述Tree