/* Author: wsnpyo Update Date: 2014-11-16 Algorithm: 快速幂/Fermat, Solovay_Stassen, Miller-Rabin素性检验/Exgcd非递归版/中国剩余定理*/import randomdef QuickPo...
分类:
编程语言 时间:
2014-11-16 15:59:16
阅读次数:
278
二叉树的前序非递归遍历: 前序遍历的顺序:根结点——左孩子——右孩子“。根据前序遍历访问结点的顺序可知:优先访问根结点,然后再分别访问左孩子和右孩子。对于任意结点来说,都可将其视为根结点,因此可直接访问,访问完之后,若其左孩子不为空,则按照相同规则访问左子树;当访问了左子树之后,再访问它的右子树。其...
分类:
其他好文 时间:
2014-11-15 22:59:23
阅读次数:
485
列举了深度优先搜索的递归和非递归算法,Dijkstra最短路径算法,
基于Bellman-Fort最短路径算法的改进型广度优先搜索算法,
Floyd-Warshall最短路径算法的原始版和变化版
本文是阅读《啊哈!算法》后的学习笔记,代码与教材中有些差异,若有错误请指正,谢谢!...
分类:
编程语言 时间:
2014-11-13 22:31:20
阅读次数:
277
1 package com.gxf.search; 2 3 /** 4 * 测试折半查找or二分查找 5 * @author xiangfei 6 * 7 */ 8 public class BiSearch { 9 10 /**11 * 非递归实现,从第1个元...
分类:
其他好文 时间:
2014-11-13 00:25:37
阅读次数:
247
#include
#include
#include
#include
using namespace std;
/*
*循环赛日程表(非递归)
*/
void Copy(int **map,int sr,int sl,int dr,int dl,int k)
{
for (int i = 0; i < k; i++)
{
for (int j = 0; j < k; j++)
{...
分类:
其他好文 时间:
2014-11-12 23:08:32
阅读次数:
225
二叉树遍历是树的最基本算法之一,是二叉树上进行其它运算之基础。
所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。
访问结点所做的操作依赖于具体的应用问题。
① 前序遍历(PreorderTraversal亦称(先序遍历))
——访问根结点的操作发生在遍历其左右子树之前。
② 中序遍历(InorderTraversal)
——访问根结点的操作...
分类:
其他好文 时间:
2014-11-12 21:21:50
阅读次数:
247
本文只探究迷宫寻址中深度优先搜索的递归和非递归算法比较,其他相关代码详见《迷宫问题(巧若拙)》http://blog.csdn.net/qiaoruozhuo/article/details/41020745...
分类:
编程语言 时间:
2014-11-12 16:33:18
阅读次数:
249
1.后序遍历的非递归实现。(左右根)难点:后序遍历的非递归实现是三种遍历方式中最难的一种。因为在后序遍历中,要保证左孩子和右孩子都已被访问并且左孩子在右孩子前访问才能访问根结点,这就为流程的控制带来了难题。下面介绍两种思路。思路:有个关键的就是unUsed这个标识符。当unUsed=1时,表示该节点...
分类:
其他好文 时间:
2014-11-11 16:28:14
阅读次数:
171
具体思路参见:二叉树的非递归遍历(转)/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int...
分类:
其他好文 时间:
2014-11-10 11:47:59
阅读次数:
157
原文地址二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实...
分类:
其他好文 时间:
2014-11-10 11:36:25
阅读次数:
259