中序遍历 递归/迭代 代码(C)本文地址: http://blog.csdn.net/caroline_wendy中序遍历(InOrder)作为二叉搜索树的排序方式, 有着重要的作用.递归和迭代的方法都需要掌握, 迭代主要使用了栈(stack)进行输入输出.代码:/*
* main.cpp
*
* Created on: 2014.9.18
* Author: Spike
*...
分类:
其他好文 时间:
2014-09-22 11:48:28
阅读次数:
186
经典的字符串转换问题:http://codevs.cn/problem/1099/
昨天刚学了广度搜索,今天就用上了,一开始百度了一下,看到所有人都是在用双向广度搜索,现在还是很不明白双向的原理,居然不需要判重!!!速度快这个容易理解,好吧,骚年加油,今天ccf认证考试,明天再来学双向的!
首先说说这个吧,广度搜索最关键的还是这两个点:
1. 如何建立搜索树?
2. 如何判断状态重复?
...
分类:
其他好文 时间:
2014-09-21 12:11:10
阅读次数:
239
文章来自 : http://blog.csdn.net/x314542916/article/details/7837276学习算法,自己收藏着。线段树的入门级 总结线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对于线段树中的每一个非叶子...
分类:
其他好文 时间:
2014-09-20 19:20:49
阅读次数:
187
二叉搜索树:
二叉树的查找很简单,先序后序中序都可以,一开始要判断是否为空。
插入要判断一下是否存在,查找时同时记录其父节点,然后直到找到空节点,插入。
删除比较复杂一点:
逐一判断:
先判断是否为空,然后查找到要删除的节点p,并记录其父节点q,如果查不到,返回false;
当p节点有两个子树时,查到其中序遍历的后继节点,即排序后的之后以为,记为s。查找的同时记录s的父节点r,然后将s...
分类:
其他好文 时间:
2014-09-18 22:22:54
阅读次数:
278
题记:转一篇很直观介绍各类B树的文章。B树即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就...
分类:
其他好文 时间:
2014-09-18 20:20:04
阅读次数:
193
kmin-of-array-vs-kmin-of-bst
分类:
其他好文 时间:
2014-09-18 14:31:24
阅读次数:
280
此算法以有向图作为输入,并按照所在的强连通分量给出其顶点集的一个划分。graph中的每个节点只在一个强连通分量里出现,即使是单点。
任选一点开始进行深度优先搜索(若dfs结束后仍有未访问的节点,则再从中任选一点再从进行)。搜索过程中已访问的节点不再访问。搜索树的若干子树构成了图的强连通分量。
节点按照被访问的顺序存入栈中。从搜索树的子树返回至一个节点时,检查该节点是否是某一...
分类:
其他好文 时间:
2014-09-15 17:56:19
阅读次数:
253
1~n作为key可以有多少种二叉搜索树(BST)的形式,卡特兰数的应用...
分类:
其他好文 时间:
2014-09-15 17:49:19
阅读次数:
151
#include
using namespace std;
// 有序二叉树(二叉搜索树)
class Tree {
public:
// 构造过程中初始化为空树
Tree (void) : m_root (NULL), m_size (0) {}
// 析构过程中销毁剩余节点
~Tree (void) {
clear ();
}
// 插入数据
void insert (in...
分类:
其他好文 时间:
2014-09-13 22:52:02
阅读次数:
207