
总结
文章平均质量分 65
她山之石
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
求最大公约数的两种方法
1、辗转相除法:两个整数的最大公约数是能够同时整除它们的最大的正整数。辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的相除余数的最大公约数。如:319,377a b a%b377%319=58319%58=2958%29=0所以最后结果为29。递归和非递归代码如下:#include#includeusing namespace s原创 2013-09-04 14:31:23 · 842 阅读 · 0 评论 -
匈牙利算法
备个份,后面用到再加题目M67大神的几句话讲解:http://www.matrix67.com/blog/archives/39二分图最大匹配问题匈牙利算法 研究了几个小时,终于明白了。说穿了,就是你从二分图中找出一条路径来,让路径的起点和终点都是还没有匹配过的点,并且路径经过的连线是一条没被匹配、一条已经匹配过,再下一条又没匹配这样交替地出现。找到这样的路径后,显然路径原创 2015-08-06 15:06:54 · 394 阅读 · 0 评论 -
计算几何模板
struct point{//点类 double x,y; point (double i,double j){x=i;y=j;}//普通构造函数 point (const point& p){x=p.x;y=p.y;}//拷贝构造函数 point& operator = (const point& p){//重载= x=p.x;y=p.y; return *thi原创 2015-07-21 19:38:59 · 425 阅读 · 0 评论 -
循环左移字符串
/*循环左移字符串2015科大讯飞笔试题最后一道题,没有见过,笔试的时候水过,面试的时候算法告诉我,我没有当回事,鬼画桃符,自己都觉得羞愧,我给学校丢脸了。*/#include#include#include#include#define N 100void swap(char &a,char &b){a^=b;b^=a;a^=b;}void InverseOrder(cha原创 2015-02-05 16:10:56 · 551 阅读 · 0 评论 -
求一个字符串中连续出现次数最多的子串
今天看了《程序员面试宝典》中这道题,顺便又看了有关字符串数据结构与算法中的KMP算法,发现网上有关这道题的解法是O(n³),结合自己对KMP中的next数组,写了一个O(n²)的代码。下面说说说的算法。首先求出字符串S的所有后缀,因为S一直不变,所以可以用如下方法求for(int i=0;i<n;i++) ss[i]=&s[i];然后求出每一个,后缀字符串的next数组(KMP原创 2015-02-05 15:37:29 · 607 阅读 · 0 评论 -
图论学习笔记之一——Floyd算法
一、Floyd算法又称为弗洛伊德算法,是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被用于计算有向图的传递闭包。时间复杂度为O(N^3),空间复杂度为O(N^2)。 二、算法思想:从任意节点A到任意节点B的最短路径不外乎2种可能, 1、是直接从A到B, 2、是从A经过若干个节点X到B。所以,我们假设dis(A,B)为节点A到节点B的原创 2014-03-09 22:41:23 · 1916 阅读 · 0 评论 -
c/c++中让输入以回车换行键结束输入
看以下代码:#include#include#include#includeusing namespace std;int main(){ int a[10],n=0; for (int i=0;;i++) { scanf ("%d",&a[i]); char x=getchar (); n++; if (x=='\n') break; } fo原创 2014-03-04 20:32:40 · 10059 阅读 · 0 评论 -
前缀表达式,中缀表达式,后缀表达式转化和计算
前缀表达式,中缀表达式,后缀表达式转化和计算1、定义 前缀表达式(波兰表达式)就是不含括号的算术表达式,而且它是将运算符写在前面,操作数写在后面的表达式,也称为波兰表达式。例如,- 1 + 2 3,它等价于1-(2+3)。 后缀表达式(逆波兰表达式)运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序 中缀表达式就是我们日常使用的,如:(2 + 1) * 3 。原创 2014-03-04 17:10:54 · 4785 阅读 · 0 评论 -
1-n全排列的几种算法
全排列的生成算法全排列的生成算法就是对于给定的字符集,用有效的方法将所有可能的全排列无重复无遗漏地枚举出来。任何n个字符集的排列都可以与1~n的n个数字的排列一一对应,因此在此就以n个数字的排列为例说明排列的生成法。n个字符的全体排列之间存在一个确定的线性顺序关系。所有的排列中除最后一个排列外,都有一个后继;除第一个排列外,都有一个前驱。每个排列的后继都可以从它的前驱经过最少的变化而得到,全排列的原创 2013-09-28 19:08:53 · 5721 阅读 · 0 评论 -
文章标题
全排列递归式无重复元素的全排列有重复元素的全排列源码实现非递归式全排列递归式无重复元素的全排列 对于一个不含有重复字符的字符串4132其全排列的第一个字符分别是该字符串的每个字符,如1xxxx,2xxxx,3xxxx,4xxxx,那么对于剩下的部分(xxxx)又是一个全排列。伪代码如下:void print_permutation(序列A,集合S){ if(S为空) 输出序列A原创 2015-09-07 22:51:58 · 586 阅读 · 0 评论