js遞迴,二叉樹的操作
//遞迴演算法n次冪
function foo(n) else
} nodes = ,,,
,,,,
]}
]}//遞迴樹形節點
function output(node) );
}}//output(nodes);
//二叉樹
var tree = ,
right:
},right: , right:
}}//二叉樹遍歷(遞迴演算法,容易導致執行棧溢位)
function printtree(tree)
if (tree.right)
}//printtree(tree);
//二叉樹的查詢
var count = 0;
function findintree(tree, v) else if (v < tree.value && tree.left) else if(v==tree.value)else
}//findintree(tree,70);
//二叉樹的插入
function inserttree(tree, v) else ;
}} else if (v < tree.value) else ;
} } else
}//inserttree(tree,505);
//二叉樹的生成(以乙個陣列中的任意元素為樹的根節點)
var data = [12, 23, 45, 123, 5, 89, 42, 32, 69, 11, 87, 25];
//生成乙個隨機的索引
var rindex = math.floor(math.random() * data.length);
//隨機獲取data中的乙個元素作為二叉樹的根元素
var prodtree = ;
//使用根元素和陣列為引數 建立索引
function createtree(node, data) );
}createtree(prodtree,data);
//遍歷生成的二叉樹每個節點的值
printtree(prodtree);
構建二叉樹 遍歷二叉樹
陣列法構建二叉樹 public class main public static void main string args 用陣列的方式構建二叉樹 public static void createbintree 把linkedlist集合轉成二叉樹的形式 for int j 0 j 最後乙個父節...
二叉樹 二叉樹的查詢
三種查詢方式 前序查詢 中序查詢 後序查詢。前序查詢 比較當前節點,如果是,返回查詢結果。如果不是就向左遞迴查詢,如果左邊沒有就向右邊遞迴查詢。設定no 5,針對該題,前序遍歷共4次。中序遍歷 先向左遞迴查詢,如果左子樹沒有,再比較當前節點,如果仍然不是則向右遍歷查詢。後序遍歷 先向左遞迴查詢,如果...
排序二叉樹or搜尋二叉樹or查詢二叉樹
排序二叉樹,搜尋二叉樹,查詢二叉樹都是乙個意思,只是叫法不同而已。下面的文章中我們統稱為排序二叉樹。本文主要是針對高中資訊學,因此其中不涉及到指標,所有需要用指標的地方都直接使用陣列進行模擬。排序二叉樹定義 1 若左子樹不空,則左子樹上所有結點的值均小於或等於它的根結點的值 2 若右子樹不空,則右子...