자바 스 크 립 트 는 다 중 트 리 의 재 귀적 스 트 리밍 과 비 재 귀적 스 트 리밍 알고리즘 작업 예제 를 실현 합 니 다.

본 고 는 자바 스 크 립 트 가 다 중 트 리 의 재 귀적 재 귀적 재 귀적 재 귀적 알고리즘 작업 을 실현 하 는 것 을 실례 로 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
이전의 준비 작업 을 시연 하 다.
프로젝트 의 파일 구 조 를 보 여 줍 니 다:
index.html
jsonData.js
recurrenceTree.js
noRecurrenceTree.js
각 파일 설명:
index.html 는 HTML 파일 을 보 여 주 는 데 사 용 됩 니 다.
jsonData.js 에는 다 진 트 리 의 JSON 데이터 가 저장 되 어 있 습 니 다.
recurrence Tree.js 재 귀 알고리즘 트 리 를 옮 겨 다 닙 니 다.
noRecurrence Tree.js 비 귀속 알고리즘 트 리 옮 겨 다 니 기.
jsonData.js

/**
 *       JSON       
 */
var root = {
  name:'D ',
  children:[
    {
      name:'  ',
      children:[
        {
          name:'   ',
          children:[
            {
              name:'  ',
              children:[
                {
                  name:'  '
                },
                {
                 name:'   '
                }
              ]
            }
          ]
        }
      ]
    },
    {
      name:'  ',
      children:[
        {
          name:'    '
        },
        {
          name:'    '
        }
      ]
    }
  ]
}

index.html

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="renderer" content="webkit"/>
  <meta http-equiv="x-ua-compatible" content="ie=edge, chrome=1">
  <meta http-equiv="Cache-Control" content="max-age: 31536000">
  <title>www.jb51.net js     </title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
  <meta name="wap-font-scale" content="no">
  <meta name="author" content="">
  <meta name="keywords" content="">
  <meta name="description" content="">
  <script type="text/javascript" src="jsonData.js"></script>
 </head>
 <body>
      :<span id="app"></span>
  <script type="text/javascript" src="recurrenceTree.js"></script>
  <hr>
       :<span id="app2"></span>
  <script type="text/javascript" src="noRecurrenceTree.js"></script>
 </body>
</html>

차례로 옮 겨 다니다.
recurrenceTree.js

//       
function traverseNode(node){
  var divObj = document.getElementById("app");
  divObj.innerHTML = divObj.innerHTML + " " + node.name;
}
//      
//   :  
function traverseTree(node){
  if (!node) {
    return;
  }
  traverseNode(node);
  if (node.children && node.children.length > 0) {
    var i = 0;
    for (i = 0; i < node.children.length; i++) {
      this.traverseTree(node.children[i]);
    }
  }
}
traverseTree(root);

반복 되 지 않 음
noRecurrenceTree.js

//       
function traverseNode2(node){
  var divObj2 = document.getElementById("app2");
  divObj2.innerHTML = divObj2.innerHTML + " " + node.name;
}
//       
//   :  
function traverseTree2(node){
  if (!node) {
    return;
  }
  var stack = [];
  stack.push(node);
  var tmpNode;
  while (stack.length > 0) {
    tmpNode = stack.pop();
    traverseNode2(tmpNode);
    if (tmpNode.children && tmpNode.children.length > 0) {
      var i = tmpNode.children.length - 1;
      for (i = tmpNode.children.length - 1; i >= 0; i--) {
        stack.push(tmpNode.children[i]);
      }
    }
  }
}
traverseTree2(root);

이 컴퓨터 테스트 효과:

자 바스 크 립 트 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기