当年老师给我们讲这里的时候,讲的真是云里雾里的。
。其实画个图就很容易理解的事情,为什么扯那么远
我觉得 DFS其实就是树的先序遍历的强化版本
BFS是层序遍历的强化
只不过 图的实现方式比较多元化 而且不像二叉树有明确的根
操作起来相对难一些
理论其实很好理解 就是具体操作起来 每次都很晕的样子
眼高手低了又。
图的遍历是指从图中的任一顶点出发,对图中的所有顶点访...
分类:
其他好文 时间:
2015-02-22 11:06:58
阅读次数:
269
Given a binary tree, return thezigzag level ordertraversal of its nodes' values. (ie, from left to right, then right to left for the next level and al...
分类:
其他好文 时间:
2015-02-21 15:26:40
阅读次数:
185
//linkqueue.h#include "stdio.h"
#include "stdlib.h"
#include
#define MAXSZIE 30
struct qNode
{ char name[MAXSZIE];
char author[MAXSZIE];
int Pages;
double Price;
char IsForeign;
struct qNode * next;...
分类:
其他好文 时间:
2015-02-10 15:22:55
阅读次数:
187
如果直接利用二叉树的层序是没有办法构建一个二叉树的,但是如果是完全二叉树应该是可以的
这里层序序列中用-1表示当前节点没有值
构建主要采用了非递归的方法,利用了queue,因为层序的遍历可以通过queue来实现那么自然也可以通过这个方法进行构建
#include
#include
#include
using namespace std;
typedef struct T...
分类:
其他好文 时间:
2015-02-04 16:38:19
阅读次数:
166
【先序遍历】【中序遍历】中序遍历非递归遍历算法:遇到一个结点,就把它压栈,并去遍历它的左子树;当左子树遍历结束后,从栈顶弹出这个结点并访问它;然后按其右指针再去中序遍历该结点的右子树;【后续遍历】【层序遍历】
分类:
其他好文 时间:
2015-02-03 12:30:14
阅读次数:
173
我们可以很容易的使用队列来实现二叉树的层序遍历,代码如下: 1 #include 2 #include 3 #define MAX 10 4 5 6 //二叉树存储结构定义 7 typedef char Item; 8 typedef struct node *link; 9 struct...
分类:
其他好文 时间:
2015-02-01 23:00:50
阅读次数:
178
QueueNode.htemplate class LinkQueue;templateclass QueueNode{private: friend class LinkQueue; friend ostream& operator& q); //函数要访问QueueNode的私有...
分类:
其他好文 时间:
2015-01-22 14:52:42
阅读次数:
93
QueueNode.htemplate class LinkQueue;templateclass QueueNode{private: friend class LinkQueue; friend ostream& operator& q); //函数要访问QueueNode的私有...
分类:
其他好文 时间:
2015-01-22 13:13:27
阅读次数:
120
C语言非递归实现二叉树的先序、中序、后序、层序遍历代码如下: 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 //*****二叉树的二叉链表存储表示*****// ...
分类:
编程语言 时间:
2015-01-18 20:56:12
阅读次数:
332
链式队列是基于单链表的一种存储表示, 其形状如下图所示: (队列的队头指针指向单链表的第一个结点, 队尾指针指向单链表的最后一个结点, 注意没有无用的空[头/尾]节点) 用单链表表示的链式队列特别适合于数据元素变动比较大的情况, 而且不存在队列满而产生溢出的情况; 链式队列结点构造:[这次我们将节点构造成了类LinkQueue的嵌套类]struct ChainNode
{
C...
分类:
其他好文 时间:
2015-01-10 21:06:42
阅读次数:
223