在学习图结构的过程中,DFS和BFS是两种不同的遍历方式,其寻找元素具有不同的优点和缺陷。 BFS被称作广度优先算法, 在遍历整个图的过程中,BFS将采用入队的方式进行,值得一提的是,这和树结构中的层序遍历有很大的相似之处。 在层序遍历中,将父亲节点入队后,在父亲节点出队后,将其儿子节点入队。 同理 ...
分类:
其他好文 时间:
2016-09-24 23:33:47
阅读次数:
286
/*链式队列其实就是一种特殊的单链表 只要单链表和结构体的知识咂实 就能很轻松的实现*/ #include<stdio.h>#include<stdlib.h>#include<malloc.h>static int c=0;typedef struct node{ int data; struct ...
分类:
其他好文 时间:
2016-09-15 06:17:19
阅读次数:
106
tips: 1.掌握用栈来实现非递归法的前序遍历和中序遍历。 2.区分递归和分治。分治是一种算法,递归是程序的一种实现方式。递归不一定有分治的思想,例如在二叉树遍历中,遍历法也是用递归实现的,但它不是分治法。90%的二叉树题目考虑用分治法。 3求层序遍历的题目要用BFS。掌握用一个队列来做二叉树的层 ...
分类:
其他好文 时间:
2016-09-06 10:33:32
阅读次数:
160
层次遍历:即每一层从左向右输出 元素需要储存有先进先出的特性,所以选用队列存储。 队列的定义: #define MAX 1000 typedef struct seqqueue{ bintree data[MAX]; int front; int rear; }seqqueue; void ente ...
分类:
其他好文 时间:
2016-08-28 22:28:54
阅读次数:
257
队列是一种先进先出(FIFO)的数据结构,他也有两种结构,一种是链式队列,一种是顺序表队列。 这里用的是链的形式来实现队列这个数据机构。 ...
分类:
其他好文 时间:
2016-08-27 18:02:44
阅读次数:
162
比如输入的二叉树是 E D G A B C F 要求打印出的结果是 E D G A B C F 字母之间用空格隔开,不同层用换行隔开。 ...
分类:
其他好文 时间:
2016-08-02 18:43:18
阅读次数:
182
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level). For example: Given binary tree [ ...
分类:
其他好文 时间:
2016-07-31 19:08:26
阅读次数:
123
层序遍历,即宽度优先遍历,在本算法中,我们还需要将每一层进行分开打印, 对于上图所示的二叉树,我们希望打印出的结果是: 1 2 3 4 5 6 7 8 首先,我们看一下二叉树节点是什么样的: 具体实现中,我们采用last表示当前打印的行的最后一个元素的引用,nlast表示下一行最后一个元素的引用。然 ...
分类:
其他好文 时间:
2016-07-05 18:47:11
阅读次数:
186
问题描述:s型遍历二叉树,或者反s型遍历二叉树 算法分析:层序遍历二叉树只需要一个队列,因为每一层都是从左往右遍历,而s型遍历二叉树就要用两个栈了,因为每次方向相反。 ...
分类:
其他好文 时间:
2016-06-28 21:48:47
阅读次数:
106
链式队列:使用链表式的节点相连接,所以就不用考虑空间的问题了。 ...
分类:
其他好文 时间:
2016-06-14 11:54:21
阅读次数:
159