function tranverse(el,lv){
if(el.nodeType == 1 || el.nodeType == 9){
var name = el.nodeName.toString() + "<br />";
lv.push('>');
for(var i=0,len = el.childNodes.length; i < len;i++){
name = name + tranverse(el.childNodes.item(i),lv);
}
lv.pop('>');
return lv.join('') +name ;
}
return '';
}
document.getElementById('result').innerHTML = tranverse(document,[]);
/*另外,也可以使用内置方法 createTreeWalker,要求浏览器支持DOM level2,IE版本>=9.
参考:https://developer.mozilla.org/en/DOM/document.createTreeWalker
http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter
http://msdn.microsoft.com/en-us/library/ie/ff974360%28v=vs.85%29.aspx
*/
var treeWalker = document.createTreeWalker(
document.body,
NodeFilter.SHOW_ELEMENT,
{ acceptNode: function(node) { return NodeFilter.FILTER_ACCEPT; } },
false
);
var nodeList = [];
while(treeWalker.nextNode()) nodeList.push(treeWalker.currentNode);
分享到:
相关推荐
图的深度遍历是计算机科学中的一个重要概念,特别是在数据结构和算法的学习中占有核心地位。在C语言中实现图的深度遍历可以帮助我们理解和解决复杂的问题,如网络路由、社交网络分析、图形渲染等。本篇文章将深入...
标题“树的深度遍历”实际上与描述中的谜题并无直接关系,不过我们可以将两者联系起来,用深度优先搜索(DFS, Depth First Search)的方法来解决这个经典问题。深度遍历是图论和数据结构中的一种算法,常用于树或图...
图的DFS实现,Description 请定一个无向图,顶点编号从0到n-1,用广度优先搜索(BFS),遍历并输出。遍历时,先遍历节点编号小的。
在二叉搜索树中,中序遍历会按照升序顺序遍历节点。 - 后序遍历:左子树 -> 右子树 -> 访问根节点。后序遍历常用于计算表达式树或者删除节点。 2. 广度优先遍历(BFS): - BFS 使用队列数据结构,从根节点开始,...
深度遍历(Depth First Search,简称DFS)是一种用于图或树结构遍历的算法,它按照“深入”的原则访问节点,尽可能深地搜索树的分支。在遇到叶节点或者回溯到没有未访问过的邻接节点时,才会返回上一层进行其他节点...
除了基本的遍历,OSG还提供了一些便利的遍历模式,如深度优先(DFS)和广度优先(BFS)。`osgUtil::SceneView`类提供了一种基于相机视锥体的遍历优化,只处理可视的节点,提高效率。 在实际应用中,遍历场景图可以...
### 数据结构深度遍历代码详解 #### 一、引言 在计算机科学中,图是一种非线性数据结构,用于表示对象之间的关系。图由顶点(或节点)和边组成,其中边连接两个顶点。图的遍历是访问图中的所有顶点的过程,而深度...
根据给定的信息,本文将详细解释如何在C++中实现图的深度优先遍历,并具体说明如何使用邻接矩阵来存储图以及实现图的深度优先遍历算法。 ### 图的深度优先遍历 #### 一、邻接矩阵存储结构 在计算机科学中,邻接...
**广度优先搜索(BFS)** 是一种从起始节点开始,并逐层遍历其邻居节点的搜索策略。在文件操作中,我们可以先读取文件中的邻接矩阵,然后利用队列(Queue)辅助进行BFS。基本步骤如下: 1. 将起始节点放入队列。 2. ...
在这个项目中,我们将深入探讨如何使用Java来实现一个迷宫的随机生成以及自动寻找路径的方法,同时会涉及树的深度遍历这一核心算法。 首先,迷宫生成通常采用的是深度优先搜索(DFS,Depth-First Search)或广度...
### 图的深度遍历算法实现 #### 概述 该段代码主要实现了图的深度优先搜索(Depth First Search,简称DFS)算法。在计算机科学领域,图是一种非线性数据结构,由顶点集合和边集合组成。深度优先搜索是图的一种基本...
本资源提供了树的非递归遍历算法的C语言源码,包括层次遍历(BFS,Breadth-First Search)和深度遍历(DFS,Depth-First Search)。下面我们将详细探讨这两种遍历方法及其非递归实现。 **层次遍历(BFS)**: 层次...
本文将深入探讨如何使用C语言实现二叉树的层次遍历以及计算树的深度。 首先,我们要理解二叉树的层次遍历,也称为广度优先搜索(BFS)。这种遍历方式按照从根节点开始,逐层访问节点的顺序进行。通常使用队列来辅助...
图的深度遍历和广度遍历是两个重要的算法,这也是我们理解并掌握图这一数据结构的基础。通过此程序算法可以进一步掌握图的构造以及遍历的相关知识。 图的深度优先遍历算法 图的深度优先遍历(Depth-First Search,...
在这个主题中,我们将深入探讨图的深度遍历(Depth-First Search, DFS)和广度遍历(Breadth-First Search, BFS)这两种遍历算法,以及它们在数据结构基本实验中的应用。 **1. 图的基本概念** 图由顶点(Vertex)...
很多涉及图上操作的算法都是以图的遍历操作为基础的、是写一个程序,演示在连通的无向图上访问全部节点的操作。
"pptjoin 深度遍历 广度遍历"这一主题聚焦于两种不同的遍历策略:深度优先搜索(DFS)和广度优先搜索(BFS)。这些方法在解决各种问题时具有广泛的应用,例如网络爬虫、查找最短路径、判断连通性等。 深度优先搜索...
图的遍历是图论中的基础...总之,图的深度遍历和广度遍历是理解图论和算法设计的基础,它们在数据结构、算法竞赛以及实际工程问题中都有广泛应用。通过熟练掌握这两种遍历方法,我们可以更有效地解决各种图相关的问题。
总之,"航线选择_航线深度优先_航线选择_深度遍历算法_"这一主题涉及的是利用深度优先搜索算法解决航线规划问题,通过遍历节点并回溯来寻找最优解。相关材料可能提供了实现这一算法的源代码和详细设计说明,有助于...
本教程将深入讲解基于C++实现的图的深度遍历(DFS, Depth First Search)和广度遍历(BFS, Breadth First Search)。 深度优先搜索是一种用于遍历或搜索树或图的算法。在C++中,我们可以使用递归或栈来实现DFS。...