[Algorithm] Construct a Binary Tree and Binary Search
function createNode(value) { return { value, left: null, right: null }; } function BinaryTree(val) { return { root: null, nodes: [], add(val) { const node = createNode(val); if (!this.root) { this.root = node; } else { this.downShift(node); } this.nodes.push(node); }, downShift(node) { let value = node.value; let current = this.root; while (current) { if (value > current.value) { if (!current.right) { current.right = node; break; } else { current = current.right; } } else { if (!current.left) { current.left = node; break; } else { current = current.left; } } } }, size() { return this.nodes.length; }, search(target) { let found = false; let current = this.root; while (current) { if (target > current.value) { if (!current.right) { return "Not Found"; } current = current.right; } else if (target < current.value) { if (!current.left) { return "Not Found"; } current = current.left; } else { found = true; break; } } return found; } }; } const t = new BinaryTree(); t.add(4); t.add(7); t.add(3); t.add(1); t.add(9); t.add(2); t.add(5); console.log(t.search(8));
About how to traverse binary tree, can refer this post.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2018-02-16 [Unit Testing] Configure the Angular CLI to use the Karma Mocha test reporter
2017-02-16 [React Native] Installing and Linking Modules with Native Code in React Native
2016-02-16 [Regular Expressions] Match the Same String Twice
2016-02-16 [Regular Expressions] Find the Start and End of Whole Words
2015-02-16 [Bootstrap] 2. class 'row' & 'col-md-x' & 'col-md-offset-x'