- 博客(8)
- 资源 (3)
- 收藏
- 关注
原创 约瑟夫环实现算法
约瑟夫环 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我们把编号从0~n-1,最后[1] 结果+1即为原问题的解。 算法原理 约瑟
2017-07-29 10:50:40 553
原创 二叉树的创建,遍历和销毁
#include #include #include #include using namespace std; // 二叉树的定义 typedef struct _BiNode { char data; // 数据域 struct _BiNode*LChlid; // 左孩子指针 struct _BiNode*RChlid; // 右孩子指针 }BiNode,*BiTree;
2017-07-23 19:25:37 796
原创 二叉树的创建以及遍历方法
二叉树的递归遍历和非递归遍历 在此分别总结先序,中序,后序的结点输出顺序。 先序: 1.访问根结点 2.访问左子树 3.访问右子树 先序较简单,不予以即系解释。 中序:1.访问左子树 2.访问根结点 3.访问右子树 原则:访问左子树。【先访问左子树中的左子树,再访问左子树中的右子树。】直到访问到叶子结点
2017-07-20 21:08:46 684
原创 字符串和BF算法的实现
// 串的实现 #include #include using namespace std; #define MAXSIZE 40 // 串结构定义 typedef struct _String { char ch[MAXSIZE]; int len; }String; // 生成一个值等于sp中的内容的字符串 void StrAgain(String *s,cha
2017-07-09 00:41:16 520
原创 递归之八皇后问题
八皇后问题简介: 八皇后是一道很具典型性的题目。它的基本要求是这样的:在一个8*8的矩阵上面放置8个物体,一个矩阵点只允许放置一个物体,任意两个点不能在一行上,也不能在一列上,不能在一条左斜线上,当然也不能在一条右斜线上。 初看到这道题目,大家的第一印象是遍历,但是经过实践之后发现遍历其实不好写,而且复杂度很低。不仅需要遍历8*8*8*8*8*8*8*8*8 = 2^2
2017-07-08 10:32:19 210
原创 递归值汉诺塔
算法思想: 汉诺塔有三个塔座,假设为A,B,C。 移动布步骤: 第一步:如果只有一个盘子的话,可以直接A塔座上移动到B塔座上; 第二步:如果有n个盘子的话,先把n-1个盘子借助C塔座移动到B塔坐上; 把第n个盘子从A塔坐上移动到C塔坐上; 把
2017-07-07 17:06:27 301
原创 杨辉三角
杨辉三角基本性质 概述 前提:每行端点与结尾的数为1. 每个数等于它上方两数之和。 每行数字左右对称,由1开始逐渐变大。 第n行的数字有n项。 第n行数字和为2n-1。 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。 第n行的第m个数和第n-m+1个数相等 ,为组合数性质之一。 每个数字等于上
2017-07-06 21:30:37 562
原创 栈之逆波兰计算器
逆波兰表达式 逆波兰表达式又叫做后缀。在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,这种表示法也称为中缀表示。波兰逻辑学家J.Lukasiewicz于1929年提出了另一种表示表达式的方法,按此方法,每一运算符都置于其运算对象之后,故称为后缀表示。 表达式 逆波兰表达式,它的语法规定,表达式必须以逆波兰表达式的方式给出。逆波兰表达式又叫做后缀
2017-07-02 19:01:38 281
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人