자바 스 크 립 트 는 다 중 트 리 의 재 귀적 스 트 리밍 과 비 재 귀적 스 트 리밍 알고리즘 작업 예제 를 실현 합 니 다.
4480 단어 JavaScript다 진 트 리두루
이전의 준비 작업 을 시연 하 다.
프로젝트 의 파일 구 조 를 보 여 줍 니 다:
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);
이 컴퓨터 테스트 효과:자 바스 크 립 트 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.