js二叉树的广度搜索 深度搜索

简介: js二叉树的广度搜索 深度搜索
// 二叉树的生成
function NodeTree(value) {
    this.value = value;
    this.left = null;
    this.right = null;
}
let ta = new NodeTree('a');
let tb = new NodeTree('b');
let tc = new NodeTree('c');
let td = new NodeTree('d');
let te = new NodeTree('e');
let tf = new NodeTree('f');
let tg = new NodeTree('g');
ta.left = tb;
ta.right = tc;
tb.left = td;
tb.right = te;
tc.left = tf;
tc.right = tg;
/**
 * 二叉树的深度优先搜索
 * @param nodeTree
 * @param target
 * @returns {boolean|*}
 */
function deepSearch(nodeTree, target) {
    if (nodeTree === null) return false;
    if (nodeTree.value === target) return true;
    return deepSearch(nodeTree.left, target) || deepSearch(nodeTree.right, target);
}
// console.log(deepSearch(ta, 'e'));
function spanSearch(nodeTreeList, target) {
    if (!nodeTreeList || nodeTreeList.length === 0) return false;
    let childNodeList = [];
    for (let i = 0, l = nodeTreeList.length; i < l; i++) {
        if ( nodeTreeList[i] !== null && nodeTreeList[i].value === target) {
            return true
        }else {
            if (nodeTreeList[i].left || nodeTreeList[i].right){
                childNodeList.push(nodeTreeList[i].left)
                childNodeList.push(nodeTreeList[i].right)
            }
        }
    }
   return   spanSearch(childNodeList, target)
}
console.log(spanSearch([ta], 'h'))
相关文章
|
1月前
|
前端开发 JavaScript
百度搜索:蓝易云【用JavaScript和HTML实现一个精美的计算器网页】
该计算器网页使用HTML定义了页面结构,CSS样式使其具有精美的外观,而JavaScript脚本实现了计算器的逻辑。用户可以通过按钮输入数字和操作符,并通过“=”按钮来进行计算,计算结果会显示在文本框中。
55 6
|
1月前
|
JavaScript 前端开发
js中模糊搜索 模糊匹配如何实现?
js中模糊搜索 模糊匹配如何实现?
|
12天前
|
JavaScript 前端开发
JS如何配合input框实现模糊搜索
JS如何配合input框实现模糊搜索
27 2
|
15天前
|
JavaScript 前端开发
JS实现select框实现模糊搜索
JS实现select框实现模糊搜索
|
15天前
|
JavaScript 前端开发 索引
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
|
15天前
|
JavaScript 前端开发
JS实现时间段过滤搜索
JS实现时间段过滤搜索
|
1月前
|
JavaScript 小程序
微信小程序 搜索框实现模糊搜索(带模拟数据,js,wxml,wxss齐全
微信小程序 搜索框实现模糊搜索(带模拟数据,js,wxml,wxss齐全
|
1月前
|
JavaScript
|
1月前
|
JavaScript
js根据开始和结束时间进行搜索
js根据开始和结束时间进行搜索
|
1月前
|
存储 JavaScript 前端开发
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
20 0