二叉树的列表实现是否可扩展?

2024-04-05

我正在写一个简单的编解码器。该树将被预先计算,一旦构建就不会发生任何变化。它只会被搜索。

平衡二叉树的所有叶节点都是信号值,内部节点是近似压缩表示。

如果我有很大的叶节点值,使用 stl 矢量的列表实现是否可扩展? 目前我不知道有多大。

列出实现,例如1,2,3,4,5,6,7 如果我有 4 个叶节点

那么孩子们

root(1)-> 2,3
2->4,5
3->6,7

所以我可以简单地使用孩子们在向量中的位置跳到他们身上。


在这种情况下,使用“列表”或“数组”不会造成任何问题(因为树是不可变的)。 O(log n) 搜索的唯一要求是快速随机访问(即对给定索引的 O(1) 访问)。

您可以使用vector or a deque,两者都合适。您可能会遇到可扩展性问题vector如果系统找不到足够大的内存块来容纳所有元素,尽管开始应该更简单。如果您遇到此障碍,请切换到deque,虽然你可能会失去一些速度,但由于其碎片化的性质,它应该可以让你进一步成长。

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

二叉树的列表实现是否可扩展? 的相关文章

  • Visual Studios 2015 中的“恢复 NuGet 包”没有执行任何操作

    我将解决方案从 SVN 拉入 Visual Studios 2015 代码中的一些 使用 引用出现错误 因此我尝试在右键单击 解决方案 中的解决方案时运行 恢复 NuGet 包 选项探索者 这没有任何作用 我必须手动进入 nuget 管理器
  • 无法使用c#更改视频捕获分辨率

    我正在尝试使用 C 中的 DirectShowNet 更改默认网络摄像头分辨率 据我所知 我需要通过调用 windows win32 api dll 中内置的 VideoInfoHeader 类来更改它以进行 avi 捕获 我有来自 Dir
  • 如何在 ASP.NET MVC 中将 XML 文件发送到客户端

    在 ASP NET MVC 中 我有一个数据库表 我想在某个视图页面上有一个按钮 如果某个用户单击该按钮 我的应用程序将生成包含数据库中所有行的 XML 文件 然后 应将包含 XML 的文件发送到客户端 以便用户看到下载弹出窗口 同样 我希
  • 信号与信号2

    我的应用程序可能会受益于使用 boost 的信号库之一而不是本土解决方案 该应用程序是多线程的 但执行信号处理的部分是单线程的 如果多线程不是问题 是否有任何理由更喜欢 Boost Signals2 而不是 Boost Signal Boo
  • Qt/c++ 随机字符串生成[重复]

    这个问题在这里已经有答案了 我正在创建一个应用程序 需要生成多个随机字符串 几乎就像一个由一定长度的 ASCII 字符组成的唯一 ID 这些字符混合有大写 小写 数字字符 有没有 Qt 库可以实现这一点 如果没有 在纯 C 中生成多个随机字
  • C# 中 PKCS11Interop 库的线程安全使用 [已关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 PKCS11Interop 在 HSM 内执行密钥管理操作 我使用的 HSM 是 Thales PCI Express 下面是
  • 我可以将 char 或 DateTime 设置为 null 吗?

    我可以将 null 设置为char数据类型 并且DateTime在 C 中 多谢你们 这是不可能的 它是一个值类型 使用 char myChar null DateTime myDate null 这相当于 Nullable
  • 如何使用 CUDA/Thrust 对两个数组/向量根据其中一个数组中的值进行排序

    这是一个关于编程的概念问题 总而言之 我有两个数组 向量 我需要对一个数组 向量进行排序 并将更改传播到另一个数组 向量中 这样 如果我对 arrayOne 进行排序 则对于排序中的每个交换 arrayTwo 也会发生同样的情况 现在 我知
  • 如何在 Visual Basic DLL 和 C++ DLL 之间创建隔离/免注册 COM?

    我必须在 C DLL 中使用 VB COM DLL 我弄清楚了如何从 C DLL 访问 VB COM DLL 并且它可以工作 现在我遇到了一个问题 我必须使用隔离的 COM 免注册 COM 因为我无法在必须使用它的每台 PC 上注册 DLL
  • FluentAssertions ShouldNotThrow 无法识别异步方法/Func

    我正在尝试检查异步方法是否抛出具体异常 为此 我使用 MSTEST 和 FluentAssertions 2 0 1 我已经检查过这个关于 Codeplex 的讨论 http fluentassertions codeplex com wo
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • asp.net core http 如果没有内容类型标头,则删除 `FromBody` 忽略

    我在 http 中使用 bodyDELETE要求 我知道目前删除主体是非标准的 但是允许的 使用时出现问题HttpClient它不允许删除请求的正文 我知道我可以使用SendAsync 但我宁愿让我的 API 更加灵活 我希望这个机构是可选
  • ASP.net WebForms - 在标记中使用 GetRouteUrl

    我一直在尝试弄清楚如何将路由功能与 ASP net 4 0 WebForms 一起使用 我将一条路线添加到我的路线集合中 void Application Start RegisterRoutes RouteTable Routes voi
  • 本地时间的内存需要释放吗?

    void log time t current time 0 tm ptm localtime current stuf 只是想确定 我是否需要在方法结束时释放 tm 指针分配的内存 不 你不应该释放它 该结构是静态分配的 检查文档 htt
  • 冒号在c中起什么作用?

    我在课堂上得到了这个例子 但我不确定它的作用 我知道冒号添加了一个位字段 但我仍然不确定这个问题 a b gt 0 3 1 运算符称为条件运算符 If b值为 gt 0 价值3被分配给a否则值1被分配给a 以 Kernighan Ritch
  • 如果finally 块包含await,为什么*有时*不会在ThreadAbortException 上执行?

    UPDATE 我不认为这个问题是重复的ThreadAbortException最后可以跳过吗 https stackoverflow com questions 18002668 can threadabortexception skip
  • linq where 子句和 count 导致 null 异常

    除非 p School SchoolName 结果为 null 否则下面的代码将起作用 在这种情况下 它会导致 NullReferenceException if ExistingUsers Where p gt p StudentID i
  • 使用 dateTimePicker 在 DataGridView 中编辑日期

    我有一个DateTime我的 WinForms 中的专栏DataGridView 目前只能通过手动输入日期来编辑该字段 例如 2010 09 02 需要什么才能拥有一个DateTimePicker 或同等 用作编辑器 DataGridVie
  • 强制函数调用的顺序?

    假设我有一个抽象基类 并且我想要一个必须由派生类实现的纯虚方法 但我想确保派生方法以特定顺序调用函数 我可以做什么来强制执行它 I E base class virtual void doABC 0 virtual void A 0 vir
  • 如何根据当前日期时间发现财政年度?

    我需要基于当前或今天的日期时间的财政年度 假设我们认为今天的日期是10 April 2011 那么我需要输出为Financial Year 2012在某些情况下 我需要以短格式显示相同的输出FY12 我想以两种方式显示 在我们的要求中 考虑

随机推荐

  • Google 网络字体和 Windows XP

    我的网站正在使用 google 字体 但我在 XP 上遇到了一些问题 也就是说 因为 XP 默认情况下没有抗锯齿功能 所以所有字体都是像素化的 即使在 Firefox 和 Chrome 等浏览器中也是如此 有没有办法解决这个问题 或者 XP
  • Windows 版 Safari 和 Mac 版 Safari 之间的差异

    从开发人员的角度来看 Mac 版 Safari 和 Windows 版 Safari 有哪些区别 我认为这可以归结为评估之间的差异 如果我错过了什么 请纠正 布局渲染 JavaScript 行为 最终要做出的决定是 开发人员能否仅在 Saf
  • jQuery 请求未定义的 url(与 phpdevshell 一起使用)

    我正在使用 phpdevshell 使用最新的 jQuery 创建一个应用程序 现在 在我看来没有任何原因的情况下 jQuery 开始请求一个以 undefined 结尾的 url 但该 url 不存在并导致 404 它寻找这个网址 htt
  • 迭代 JObject 键

    我有以下内容JObject作为回报https gate io api2 trade https gate io api2 tradeAPI 我如何迭代每个作为单独硬币的密钥也获得它的值 我尝试使用 Newtonsoft 解析它JObject
  • gulp 任务来处理可写的文件

    我在VS2015项目中使用Gulp来运行jscs http jscs info 在 JavaScript 文件上使用fix选项集 目的是修改读取的同一文件 即源和目标相同 var gulp require gulp var jscs req
  • 无法在 Intellij IDEA 中设置 Java 断点

    我试图将断点放入 GoogleAppEngine 源代码 SDK 1 7 0 但 IDEA Ultimate 11 0 2 一直告诉我Warning No executable code found at line 482 in class
  • Oreo (8.1) 中的设备蓝牙地址

    我需要获取设备的蓝牙MAC地址 在 Android 6 之前 这很简单BluetoothAdapter getDefaultAdapter getAddress 之后我们不得不使用一个简单的解决方法 String macAddress an
  • C++ - 对于内部编译器错误可以做什么?

    在编写矩阵类时 我遇到了一些有趣且烦人的事情 内部编译器错误 我愿意在名为的类中调用一个姐妹构造函数Matrix4
  • 从文本文件中删除回车符

    我有一个文本文件是 已定界 长度超过 59 000 行 如何删除回车以便每一行都是一条记录 Here is what the current file looks like Here is what I need it to look li
  • 未满足的对等依赖关系 Angular 2.3.0 rxjs zone.js

    我一直有未满足的同伴依赖性rxjs and zone js 即使当我移除我的node modules文件夹 清理 npm 缓存并重新安装 我的node版本是6 7 0 npm版本是3 10 8 这是我的 package json name
  • 在 Woocommerce 中一次只允许购物车中的一种产品类别

    我如何将 Woocommerce 购物车配置为一次只允许其中一种产品类别类型 以下代码将允许仅将一种产品类别中的商品添加到购物车 从而避免添加到购物车并显示自定义通知 add filter woocommerce add to cart v
  • 如何将 Font Awesome 图标添加到 按钮中?

    我正在尝试添加一个
  • java.lang.NoClassDefFoundError:com/fasterxml/jackson/core/JsonFactory

    我正在研究YouTube broadcast样本示例 我创建了一个样本Java Project并添加了所需的罐子 但是 当我尝试运行该项目时 它会抛出异常 例外 Throwable com fasterxml jackson core Js
  • 使用 jquery 偶尔出现 ajax 响应错误 {readyState=0, status=0, statusText="error"}

    我遇到了使用 jquery 和 Coldfusion 服务器端 的 AJAX 响应问题 有时有效 有时无效 当我测试直接调用它的服务器端组件时 它总是有效 所以我猜问题出在 ajax 响应上 我直接从服务器获取 serverurl 所以它不
  • 在 C# 中将 latin1 转换为 UTF8 [重复]

    这个问题在这里已经有答案了 可能的重复 将 Latin 1 编码的 UTF8 转换为 Unicode https stackoverflow com questions 1430513 convert latin 1 encoded utf
  • 解析作为查询参数传递给 REST API 的不同日期的标准方法是什么?

    我正在开发一个 REST API 它支持日期作为查询参数 由于它是查询参数 因此它将是字符串 现在可以在 QueryParams 中以以下格式发送日期 yyyy mm dd T HH MM SS fff NNNN 这意味着以下是有效日期 2
  • 将 dd/MM/yyyy 转换为 yyyy/MM/dd?

    我想将字符串 30 12 2012 转换为 2012 12 30 我的应用程序设置为 en CA 但数据库默认接受 yyyy MM dd 我怎样才能做到这一点而不依赖于当前的文化信息集 在服务器上 正如所有评论所说 但到目前为止没有一个答案
  • 域对象和值对象 - 它们相等吗?

    通过查看 Zend 快速入门教程中的域对象示例以及考虑 DAO VO 模式的其他示例 它们似乎非常相似 我们能否推断出 值对象 与 域对象 是一样的 如果不是 您能澄清一下它们之间的区别吗 其中一个的功能是什么 如果另一个的功能又如何呢 我
  • 如何使用 SlowCheetah 转换 Json 配置文件中的数组元素?

    这是我第一次使用 SlowCheetah 作为 JSON 配置文件 我找不到让它转换数组设置的方法 例如 如果我的基本配置文件具有以下设置 Settings 1 2 3 我想将其转移到 Settings 4 5 6 它只是进行合并 而不是替
  • 二叉树的列表实现是否可扩展?

    我正在写一个简单的编解码器 该树将被预先计算 一旦构建就不会发生任何变化 它只会被搜索 平衡二叉树的所有叶节点都是信号值 内部节点是近似压缩表示 如果我有很大的叶节点值 使用 stl 矢量的列表实现是否可扩展 目前我不知道有多大 列出实现