javascript二叉搜索树实现[关闭]

2023-12-28

有人知道用 Javascript 实现简单 BTree 的任何好例子吗?我有一堆随机到达的“东西”,并且想要有效地插入每一个。

最终,每个新元素都会根据它在树中的最终位置插入到 DOM 中。

我可以从头开始编写代码,但不想重新发明任何轮子。

thanks


如果重要的话,我发现将这种数据存储为文字树的效率低于将其存储为已排序数组并在数组上进行二分搜索以拼接/插入元素的效率。显然,JavaScript 对象的创建并不是免费的。

还有“在数组中编码树”技巧:

[5, 3, 7, 1, null, 6, 9, null, null, null, null, null, null] 

是相同的

      5
     / \
    3   7
   /   / \
  1   6   9

即children(N[i]) = N[2i+1], N[2i+2] 。我不知道这是否真的能让你在 JavaScript 中获胜。

如果您尝试二叉树的一些替代方案,您可以在这里发布您的发现吗? :)

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

javascript二叉搜索树实现[关闭] 的相关文章

  • Highcharts 堆栈列将正数和负数相加

    我有一个堆叠柱形图 显示每个月的 3 个键 值 一个堆叠在另一个之上 有些月份可能会出现负面影响 Highcharts 当前的功能是为每个月放置两个堆叠标签 一种用于正面 顶部 一种用于负面 底部 请参阅下面的代码和 js fiddle 作
  • SVG 用事件触发动画

    如何通过 javascript 使用任意事件触发 svg 动画元素开始动画 我在想象类似的事情begin mySpecialEvent 然后我可以发送mySpecialEvent并且动画将开始 如果已经播放则再次开始 这是一篇涵盖您需要的文
  • Bootstrap 表单助手未选择完整的国家/地区名称

    我添加了引导表单助手来列出国家及其州 最初 它根本没有选择国家名称 但我设法用 jQuery 检索国家 地区名称 但它没有显示完整名称 这是表单的完整代码 div class signup form div class container
  • Storybook w/react-router - 你不应该在 之外使用

    尽管有 Sensei 谷歌搜索技能 但我很难找到问题的解决方案 尽管我的应用程序与react router工作没有任何问题Storybook抛出错误 不变失败 你不应该在之外使用 Error Invariant failed You sho
  • Open Layers 3 根据矢量图层的范围将地图居中?

    我想根据矢量图层特征 点 来定位地图的中心和缩放级别 我有一个 geojson 文件正在填充我的地图 var vectorSource new ol source Vector url assets js data geojson form
  • 使用基于浏览器的 JavaScript 和 Node 操作本地文件系统

    我正在制作一个项目 需要允许用户从浏览器与文件系统进行交互 我在编写客户端 JavaScript 方面拥有丰富的经验 并且在为网页抓取 数据分析和文件系统工作等编写 Node 脚本方面也拥有丰富的经验 但这个项目将允许用户在浏览器中更改内容
  • 对原型绑定感到困惑,这个声明

    在下面的代码中 我想知道上下文如何绑定到this In obj myMethod 上下文被赋予对象 因此记录它会给出对象 In var myFun obj myMethod then myFun 上下文被赋予窗口 唯一的区别是您将函数设置为
  • “canvas.toDataURL(“image/png”)”在 Firefox 中无法正常工作

    我有一个带有文件输入字段的网页 我想 上传图像文件 使用上传的图像创建图像元素 把它画在画布上 获取画布的 DataURL 此过程适用于 Google Chrome 但不适用于 Mozilla Firefox 当我 console log
  • jQuery FullCalendar 不渲染

    我的网站上有一个可用的完整日历 但是 直到您更改月份 年份或选择 今天 后 实际的日历表才会显示 如果我查看渲染的源代码 我会发现桌子周围的 div 是空的 直到我按下按钮 div class fc view fc view month f
  • 异步等待图像加载事件触发器[重复]

    这个问题在这里已经有答案了 我有一个奇怪的想法 我无法思考 const load url gt return new Promise resolve gt const img new Image img onload gt resolve
  • Javascript 与 Python 关于 Python 'map()' 函数的比较

    Python中有一个函数叫做map这可以让你去 map someFunction x y z 并继续应用该功能的列表 是否有与此功能等效的 JavaScript 我现在刚刚学习Python 虽然我被告知javascript是函数式语言 但我
  • 如何修复 Nuxt 中导航器/窗口/文档未定义的问题

    我试图确定 Nuxt 应用程序内的 UserAgent 和 Retina 信息 但应用程序抛出错误并显示导航 窗口未定义 我如何在 nuxt 应用程序中获取这些信息 const userAgent navigator userAgent t
  • 如何使用 LinkedIn javascript sdk 检索包括所有字段的职位列表?

    我想要获取 LinkedIn 会员在其个人资料中输入的每个职位的 ID 头衔 摘要 开始日期 结束日期 当前状态和公司名称 我测试了一个查询休息控制台 https apigee com console linkedin我得到了想要的结果 查
  • 如何根据按钮单击折叠和展开 Kendo UI 树视图中的所有树节点?

    这是行不通的 您可以使用此代码 1 崩溃 折叠kendoTree查看文档 http docs kendoui com api web treeview methods collapse treeview kendoTreeView var
  • 如何使用 axios / jest 测试失败的请求

    我创建了一个非常小的应用程序 如果您传递硬币和数量 它可以计算为某些加密货币支付的总价格 我想测试错误 但我总是收到 收到的承诺已解决而不是被拒绝 我相信这是因为如果 url 错误 axios 仍然会解决承诺 我遇到的第二个问题是 我尝试测
  • 使用闭包和自调用函数制作计数器

    我想知道为什么这段代码不起作用 var uniqueInteger function var counter 0 return function return counter console log uniqueInteger 0 cons
  • 如何获取 RxJSSubject 或 Observable 的当前值?

    我有 Angular 2 服务 import Storage from storage import Injectable from angular2 core import Subject from rxjs Subject Inject
  • Three.js - 在代码中包含网格数据

    我有这个 Three js 代码 其中 JSON 加载器从文件 models mountain json 加载网格 var Three new function this scene new THREE Scene this camera
  • Telegram 授权无默认按钮

    使用 Telegram 第 3 方授权的唯一有记录的方法是使用其提供的脚本https core telegram org widgets login https core telegram org widgets login 这个脚本 正如
  • 提交前验证表单(比检查空字段更复杂)

    我有一个包含时间输入的表单 具体来说 开放时间和结束时间 当按下提交按钮时 它会转到一个 php 页面 其中这些输入将添加到数据库中 在允许提交表单之前我想检查一些事情 例如 我想确保开始时间早于 小于 结束时间 这是表格 Opens

随机推荐

  • Date() 将某些日期字符串转换为本地时间

    我试图通过用 Date 对象包装两个日期字符串来比较它们是否相等 我住在西雅图 由于某种原因 第二个日期字符串被转换为 PST 然后以 GMT 呈现 结果如下 new Date January 1 2012 gt gt gt Sun Jan
  • COMDAT 部分的用途是什么?

    我看到 Gy 选项 想知道为什么要使用它 http msdn microsoft com en us library xsa71f43 aspx http msdn microsoft com en us library xsa71f43
  • 使用 Devise before_action :authenticate_user!不做任何事

    我试图要求登录我的 Rails 4 网站上的所有页面 在 ApplicationController 中我添加了before action authenticate user 但它根本没有做任何事情 我尝试添加相同的before actio
  • Node JS 获取请求体长度

    我需要获取 req body 中字段的长度 但使用req body username length lt 5我收到错误Cannot read property length of undefined 我该怎么做 考虑对象没有属性length
  • 静态生成的 Next.js 页面中的动态 HTML lang 属性

    我正在 Next Js 项目中开发多语言静态登录页面 我的目标是具有以下结构 gt 英文主页 de gt 德语主页 it gt 意大利语主页 我按以下方式构建它 页面 index js export default function Hom
  • Messenger 机器人无法响应

    My bot has been approved and is available publicly see image but it does not respond to anyone besides the developer 我把它
  • 编译器的这个响应有效吗?

    以下代码会引发错误 我在参考文献中找不到这方面的任何信息 运算符右侧缺少空格是一个错误 let names Anna Alex Brian Jack 此语法的任何其他组合都可以编译 有人知道根据我们现在对 Swift 的了解这是否真的是无效
  • 如何使用 astyle 在 C++ 方法中格式化左大括号?

    将函数的左大括号移动到下一行是一种常见的做法 如何使用astyle 代码美化器 在类方法中应用它 example this is an initial C code class Class public static int foo boo
  • 基于iOS的OpenGL ES编程

    我需要找到学习 iPhone 版 openGL ES 的资源 我已经看过 Brad Larson 的精彩视频 现在正在从苹果下载高级视频 我对 iOS 编程了解很多 但对 OpenGL 一无所知 因此资源不假设我已经了解 openGL 我想
  • 我可以将 moq 的 InSequence() 与 MockBehavior.Loose 一起使用吗?

    我试图执行后续调用验证 我发现 moq 支持 InSequence 方法 例如 MockSequence s new MockSequence validator InSequence s Setup m gt m IsValid It I
  • 如何在shiny中触发数据刷新?

    我有一个闪亮的应用程序 它将数据从 SQL 查询到数据帧中 然后从我的闪亮服务器 块中引用这些数据帧 到目前为止 我只在 RStudio 中运行它 因此每当我需要新数据时 我只需重新启动应用程序 然后在服务器加载之前它将获取所有新数据 我想
  • TIFFReadDirectory 使用 QPixmap::load( ) 读取 GeoTiff 时出现警告

    我有一个 geotiff 文件 我正在使用 QPixmap load 将其加载到 QPixmap 中 我多次在控制台上打印以下警告 但是 直接使用 libtiff 打开它不会出现警告 关于如何减轻 QT 中这些难看的警告有什么想法吗 TIF
  • Web应用程序在azure中出现http 404错误,但在本地运行

    我正在尝试创建一个连接到我的 Azure SQL 数据库并从数据中读取的 Web api 我使用了 VS19 中的 API 模板并添加了我自己的文件 我在本地运行了该应用程序 模板天气预报工作正常 并且我使用邮递员测试了我的 API 然后
  • CRAN 关于全局变量使用的政策

    在CRAN存储库策略文档中 明确指出 包不应修改全局环境 用户的工作空间 当我跑步时 R CMD check via devtools check 它只是声明 全局变量 x 没有可见的绑定 作为注释而不是警告 CRAN 不会接受用户提供的包
  • Visual Studio 容器工具要求在构建、调试或运行容器化项目之前运行 Docker

    我正在研究 Net core 微服务 我安装了包含 docker cli 和 kitematics 的 Docker Toolbox 之后 我在 Visual Studio 2017 中创建了一个简单的 Net Core Web api 项
  • 在 Ruby 中解析街道地址

    我正在将地址处理为数据库各自的字段格式 我可以得到门牌号和街道类型 但试图确定获得没有号码和最后一句话的街道的最佳方法 收到的标准街道地址为 res address 7707 Foo Bar Blvd 到目前为止我可以解析以下内容 hous
  • android中的activity作为对话框

    我想用一个activity as dialog我把活动的主题定为对话 我成功了 但 我遇到的问题是当我在活动之外单击时 它会自动关闭并且之前的活动开始 我尝试了一种方法来制作透明的父布局 它看起来不像对话框 我想使用此活动在我的应用程序中创
  • 通过客户端函数在服务器端调用非静态方法

    我可以通过使用服务器端的静态接收回调结果方法从服务器端获取对象 但我想在我的页面中运行一个非静态方法 通过调用客户端函数来填充 ajax 手风琴 我从服务器端调用的对象是一个复杂的对象 如果我通过回调结果获取它 则无法在客户端使用它 是否有
  • 如何启用 InstallShield 限量版 2015

    我想部署我的项目 为此我转到文件 gt 新项目 gt 其他项目类型 gt 设置和部署 但在那里我找不到任何选项 安装项目 我已经下载了InstallShield Limited Edition 但仍然出现相同的网页 要求我下载 Instal
  • javascript二叉搜索树实现[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人知道用 Javascript 实现简单 BTree 的任何好例子吗 我有一堆随机到达的 东西 并且