文章列表
树的遍历
(一)树结构实现
Java代码
package tree.tree;
import java.util.Iterator;
import java.util.List;
/**
* 树节点抽象接口
*
* @author jzj
* @data 2009-12-17
*/
public abstract class TreeNode implements Comparable {
//父节点
一、数据结构分类
(一)按逻辑结构
集合(无辑关系)
线性结构(线性表):数组、链表、栈、队列
非线性结构:树、图、多维数组
(二)按存储结构
顺序(数组)储结构、链式储结构、索引储结构、散列储结构
二、二叉树相关性质
结点的度:一个结点的子树的个数记为该结点的度.
树的度:所有节点中度数最大的结节的度数,叶子节点的度为零。
树的高度:一棵树的最大层次数记为树的高度(或深度)。
有序(无序)树:若将树中结点的各子树看成是从左到右具有次序的,即不能交换,则称该树为有序树。否则称为无序树。
二叉树第i层(i≥1)上至多有2^(i-1)个 ...
1. 分支搜索算法 (1) 引入 用回溯算法解决问题时,是按照深度优先的策略在问题的状态空间中,尝试搜索可能的路径,不便于在搜索过程中对不同的解进行 比较,只能在搜索到所有解得情况下,才能通过比较确定哪 ...
说几句题外话,我的书架总摆着几本自己认为不错的java的基础书籍,一是<<Thinking in java>>,另外两本是第二版的<<Data Structures & Algorithms in Java>>和一本国人写的<<Java面向对象程序设计教程>>. 没有什么事做的时候,自己总是会拿起这几本翻一翻,免得有一些基础的东西忘记了。 下边的例子就是<<Data Structures & Algorithms in Java>>书的一个例子,并非我所写的,这一本书我觉得是最好 的一 ...
说明一下:下边的例子就是<Java数据结构和算法>书的一个例子,并非我所写的,这一本书我觉得是最好 的一本java数据结构的入门书籍.现在把这一个例子记录在blog上,当作温习一下啦。 无向图的广度搜索的规则有如下: 规则1、访问下一个未来访问的邻接点(如果存在),这个顶点必须是当前顶点的邻接点,标点它,并把它插入到队列中。 规则2、如果因为已经没有未访顶点而不能执行规则1,那么从队列取一个顶点(如果存在),并使其成为当前的顶点。 规则3、如果因为队列为空而不能执行规则2,则搜索结束。 下面是实例的代码:
Java代码
class Queue
{ ...