
算法-例题
文章平均质量分 89
bupt_xycr
欢迎关注我的公众号:算法入门
熟悉
c++
caffe
pytorch
mxnet
tensorflow
深度学习
自动驾驶
点云
图像处理
编程比赛
python
java
展开
-
【转载】八数码问题BFS与DFS的比较
吃透算法,搞清原理,终有所得八数码问题的深度优先及宽度优先算法比较济南第六职业中等专业学校 王宇 2011年7月17日 16:46预备知识:人工智能问题广义地说,都可以看作是一个问题求解过程,因此问题求解是人工智能的核心问题,它通常是通过在某个可能的解答空间中寻找一个解来进行的。在问题求解过程中,人们所面临的大多数现实问题往往没有确定性的算法,通常需要用搜索算法来解决。原创 2016-04-21 18:52:12 · 8714 阅读 · 3 评论 -
困难的串7.4.3
如果一个字符串包括两个相邻的重复字串,则称他们为“容易的串”,其他的串称为困难的串题目要求输入正整数n和l输出由前l个字符组成的,字典序第n小的困难的串。例如当l=3时。前7个困难的串分别为A,AB,ABA,ABAC,ABACA,ABACAB,ABACABA.输入保证不超过80个字符n输入样例:3 2输出 ABAn#includeusing namespace std;int n,l;int cn原创 2016-04-21 18:51:32 · 399 阅读 · 0 评论 -
算法入门经典7.4回溯法
7.4.1八皇后问题首先,得重新介绍一下递归。这是非常必要的,因为事先我没有在意这个,导致我理解。。。。困难递归就是:一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。用递归思原创 2016-04-21 18:51:30 · 333 阅读 · 0 评论 -
算法入门经典7.3子集声生成
7.3.1增量构造法#include//输出集合{1~n}的所有子集(不包括空集)//本程序n取4using namespace std;void print(int n, int *A, int cur){ for (int i = 0; i cout int s = cur ? A[cur - 1] + 1 : 1; for (int i = s; i { A[cur] = i; p原创 2016-04-21 18:51:24 · 256 阅读 · 0 评论 -
7.2枚举排列
7.2.1生成1~n 的排列问题描述:输入整数N,按照字典序从小到大打印出1-N的去所有排列。两个序列的字典序大小关系等价于从头开始第一个不相同处的大小关系,(例如(1,2,3) 算法思想:设集合S是保持带排列元素的集合,数组A保持排列的元素。如果集合S为空,则表示完成了一个排列,不再继续递归,否则将S中的元素V加入到A中,且S = S-{V},继续递归寻找下一个可以加入到排列中的元素。#incl原创 2016-04-21 18:51:22 · 274 阅读 · 0 评论 -
暴力求解法 7.1简单枚举
7.1.1除法除法输入正整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列,2样例输入:62样例输出:79546/01238=6294736/01528=62#includeusing namespace std;bool Judge(int d,int i){ int a[5], b[5], j, k; for ( j = 0; j原创 2016-04-21 18:51:16 · 526 阅读 · 0 评论 -
【转载】DES加密算法原理
DES算法理论本世纪五十年代以来,密码学研究领域出现了最具代表性的两大成就。其中之一就是1971年美国学者塔奇曼 (Tuchman)和麦耶(Meyer)根据信息论创始人香农(Shannon)提出的「多重加密有效性理论」创立的,后於1977年由美国国家标準局颁布的数据加密标準。 DES密码实际上是Lucifer密码的进一步发展。它是一种採用传统加密方法的区组密码。它的算法是对称的,既可用於加密又可原创 2016-04-21 18:51:03 · 351 阅读 · 0 评论 -
//字母重排
//字母重排#include#include#include#includeusing namespace std;char word[2000][10],sorted[2000][10];//注意二维数组的定义I!! //比较自符int cmp_char(const void*_a,const void*_b){ char*a=(char*)_a; char *b=(char*)_b; retu原创 2016-04-21 18:50:42 · 398 阅读 · 0 评论 -
char s[]和char*s的异同
最近的项目中有不少c的程序,在与项目新成员的交流中发现,普遍对于char *s1 和 char s2[] 认识有误区(认为无区别),导致有时出现“难以理解”的错误。一时也不能说得很明白,网上也搜了一下相关文章发现一些写的比较好的,综合了一下当教育资料备用。http://duanhengbin.iteye.com/blog/1706635char *s1 = "hello";char s2[] =原创 2016-04-21 18:50:34 · 1106 阅读 · 0 评论 -
八进制转换10进制
#include#includeusing namespace std;int main(){int a,q;char b[100];while(cin>>a){for(int i=0;;i++){b[i]=a%8+'0';q=i;if(a==0)break;a=a/8;}for(int j=q-1;j>=0;j--){ cout}cout}return 0;}原创 2016-04-21 18:50:25 · 760 阅读 · 0 评论