博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉树实现思路
阅读量:5926 次
发布时间:2019-06-19

本文共 1239 字,大约阅读时间需要 4 分钟。

// 二叉树实现思路
function
BinaryTree() {
var
Node =
function (
key) {
this.
key =
key;
this.
left =
null;
this.
right =
null;
};
var
root =
null;
var
insertNode =
function (
root,
newNode) {
if (
newNode.
key <
node.
key) {
if (
node.
left ===
null) {
node.
left =
newNode
}
else {
insertNode(
node.
left,
newNode)
}
}
else {
if (
node.
right ===
null) {
node.
right =
newNode
}
else {
insertNode(
node.
right,
newNode)
}
}
}
this.
insert =
function (
key) {
var
newNode =
new
Node(
key)
if (
root ==
null) {
root =
newNode
}
else {
insertNode(
root,
newNode)
}
}
// 查找有没有最大的值
this.
max =
function () {
return
maxNode(
root);
}
var
maxNode =
function () {
if (
node) {
while (
node &&
node.
right !==
null) {
node =
node.
right;
}
return
node.
key
}
}
this.
search =
function (
key) {
return
searchNode(
root,
key)
}
var
searchNode =
function (
node,
key) {
if (
node ===
null) {
return
false
}
if (
key <
node.
key) {
return
searchNode(
node.
left,
key)
}
else
if (
key >
node.
key) {
return
searchNode(
node.
right,
key)
}
else {
return
true
}
}
}
var
nodes = [
8,
3,
10,
1,
6,
14,
4,
7,
13]
var
binaryTree =
new
BinaryTree();
nodes.
forEach(
function (
key) {
binaryTree.
insert(
key)
})

转载于:https://www.cnblogs.com/yayaxuping/p/10886225.html

你可能感兴趣的文章
Python爬虫笔记3-解析库Xpath的使用
查看>>
猴子数据教你如何快速查询域名备案是否存在
查看>>
【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
查看>>
小程序红包雨
查看>>
开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
查看>>
第十二课时:渲染函数和JSX快速掌握
查看>>
Visio替代图表工具 - 为什么Visual Paradigm Online?
查看>>
市场变冷,不要灰心。更应该延长你的黄金岁月
查看>>
微服务之数据同步Porter
查看>>
从前端程序员的视角看小程序的稳定性保障
查看>>
Flutter 1.2 发布,添加应用内支付和 App Bundles
查看>>
docker笔记2-镜像与容器
查看>>
如何使用less实现随机下雪动画详解
查看>>
完成端口服务器模型
查看>>
python 图像处理:一福变五福
查看>>
el-dialog 模态框拖拽
查看>>
教你React Native使用fetch实现图片上传
查看>>
Linux php7.0安装phpredis
查看>>
彻底弄懂 JavaScript 执行机制
查看>>
另类爬虫:从PDF文件中爬取表格数据
查看>>