ホームページ >ウェブフロントエンド >jsチュートリアル >ツリートラバーサルアルゴリズムのJavaScript実装例

ツリートラバーサルアルゴリズムのJavaScript実装例

小云云
小云云オリジナル
2018-01-02 13:25:472154ブラウズ

この記事では主にJavaScriptで実装されるツリートラバーサルアルゴリズムを紹介し、ツリー構造に対するJavaScriptの幅優先トラバーサルと深さ優先トラバーサルの実装方法をサンプルの形で分析します。みんなを助けることができる。


<script type="text/javascript">
var t = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19];
//下面这段深度优先搜索方法出自Aimingoo的【JavaScript语言精髓与编程实践】
var deepView = function(aTree,iNode) {
  (iNode in aTree) && (document.write(aTree[iNode]+&#39;<br/>&#39;),arguments.callee(aTree,2*iNode+1),arguments.callee(aTree,2*iNode+2))
}
//广度优先
var wideView = function(aTree,iNode) {
  var aRTree = aTree.slice(0),iRNode = iNode,iLevel = 1;
  (iRNode in aRTree) && document.write(aRTree[iRNode]+&#39;<br/>&#39;);
  (function() {
    var iStart = iRNode*2+1,iEnd = iStart+Math.pow(2,iLevel);
    document.write(aRTree.slice(iStart,iEnd).join(&#39;,&#39;)+&#39;<br/>&#39;);
    if(iEnd>=aRTree.length) return;
    iRNode = iStart,iLevel++,arguments.callee();
  })()
}
document.write(&#39;<h3>二叉树 深度优先</h3>&#39;);
//深度优先
deepView(t,0);
document.write(&#39;<h3>二叉树 广度优先</h3>&#39;);
//广度优先
wideView(t,0);
</script>

実行結果:

関連推奨事項:

PHPトラバーサルアルゴリズムの概要

バイナリツリートラバーサルアルゴリズム-phpの例

PHP実装されたbin分木走査アルゴリズムのサンプルコード

以上がツリートラバーサルアルゴリズムのJavaScript実装例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。