51CTO学院,在软考备考季特别整理了"2014年软考程序员-常考知识点复习笔记【汇总篇】",帮助各位学院顺利过关!更多软件水平考试辅导及试题,请关注51CTO学院-软考分类吧!查看汇总:2014年软考程序员-常考知识点复习笔记【汇总篇】二叉树三种遍历的非递归算法(背诵版)1.先序遍..
分类:
其他好文 时间:
2014-08-13 15:10:47
阅读次数:
256
字典序全排列算法研究一.非递归算法(字典序法)对给定的字符集中的字符规定了一个先后关系,在此基础上规定两个全排列的先后是从左到右逐个比较对应的字符的先后。例如:字符集{1,2,3},较小的数字位置较先,这样按字典序生成的全排列是 123,132,213,231,312,321※ 一个全排列可看做一个...
分类:
其他好文 时间:
2014-08-12 18:20:14
阅读次数:
277
先序遍历:若二叉树为空,则空操作;否则访问根节点;先序遍历左子树;先序遍历右子树。中序遍历:若二叉树为空,则空操作;否则中序遍历左子树;访问根节点;中序遍历右子树。后序遍历:若二叉树为空,则空操作;否则后序遍历左子树;后序遍历右子树;访问根节点。二叉链表:链表中的结点包含三个域:数据域和左右指针域。...
分类:
其他好文 时间:
2014-08-10 18:34:20
阅读次数:
480
以下是二叉搜索树中查找、插入、删除的递归和非递归算法数据类型设计:1 struct BSTNode 2 {3 ElementType data; // 结点元素值4 struct Node *leftChild; // 左子树根结点5 ...
分类:
其他好文 时间:
2014-07-18 19:05:40
阅读次数:
279
1 /** 2 * 二叉树的前序、中序、后序遍历的递归和非递归算法实现 3 **/ 4 5 //二叉链表存储 6 struct BTNode 7 { 8 struct BTNode *LChild; // 指向左孩子指针 9 ELEMENTTYPE ...
分类:
其他好文 时间:
2014-07-17 00:00:56
阅读次数:
241
1.先序遍历非递归算法
#define maxsize 100
typedef struct {
Bitree Elem[maxsize];
int top;
} SqStack;
void PreOrderUnrec(Bitree t) {
SqStack s;
StackInit(s);
p=t;
while (p!=...
分类:
其他好文 时间:
2014-07-08 17:13:18
阅读次数:
267
前言
在前两篇文章二叉树和二叉搜索树中已经涉及到了二叉树的三种遍历。递归写法,只要理解思想,几行代码。可是非递归写法却很不容易。这里特地总结下,透彻解析它们的非递归写法。其中,中序遍历的非递归写法最简单,后序遍历最难。我们的讨论基础是这样的:...
分类:
其他好文 时间:
2014-07-08 16:16:25
阅读次数:
369
/*二分查找的递归与非递归算法*/#include #include using namespace std;bool bisrch( int low,int high,int v,int *text ) //递归写法{ int i,mid; mid=( low+high )/2; ...
分类:
其他好文 时间:
2014-06-25 13:51:56
阅读次数:
174
一直想要写的 二叉树 中序 先序 后序遍历算法
递归的太简单了,就不写了。关键是非递归版本。
先序:
我自己的版本:
void RootPreTraverse(Node* p)
{
Stack S;
while(S not empty)
{
p=S.top();
S.pop();
Show(p);
if(p->right!=null)
S...
分类:
其他好文 时间:
2014-06-20 10:55:49
阅读次数:
279
图遍历的演示
[问题描述]
很多涉及图上操作的算法都是以图的遍历操作为基础的。试写一个程序,演示无向图的遍历操作。
以邻接表为存储结构,实现连通无向图的深度优先和广度优先遍历。以用户指定的结点为起点,分别输出每种遍历下的结点访问序列和相应生成树的边集。
借助于栈类型(自己定义和实现)将深度优先遍历用非递归算法实现。(非递归算法的实现为选做内容,如能实现,适当加分)
[测试数据]
...
分类:
其他好文 时间:
2014-06-18 06:00:19
阅读次数:
251