简单搜索
来源:互联网 发布:凯恩之角数据库 编辑:程序博客网 时间:2024/06/01 18:05
1.学习算法发现自己了解不深,读啊哈算法了解基础的搜索
1.1 解决全排列问题
1234 ,就是将这个四个数排列出不同顺序的组合,一共是24可能, 1234 ,1243 1324 1342 1423 1432,这是1在前面的情况,如果使用c语言就要用 枚举法全部把情况列出来;
for ( int a = 1; a <= 4; a++){for (int b = 1; b <= 4; b++){for (int c = 1; c <= 4; c++){for (int d = 1; d <= 4; d++){if (a != b && a != c && a != d && b != c && b != d && c != d){printf("%d%d%d%d\n", a, b, c, d);}}}}}1.2 理解简单的深度优先(不是很懂)
问题: 有 1,2,3 个箱子 我们 按顺序在箱子中 存数 1,2,3 第一个箱子放入1,第二个箱子放入2,第三个箱子放入3,手上没有数然后 从第三个箱子取数,第二个箱子取2,
然后 放入 1 3 2,这样执行操作;
int a[10], book[10], n;// a是箱子,book是手上的数,n 表示1,2,3 总共的数 全局变量不用别赋初值void store(int step){int i;if (step == n + 1){//输出所有的排列for (i = 1; i <= n; i++){printf("%d", a[i]);}printf("\n");return;//输出完返回才会结束}for (i = 1; i <= n; i++){//关键 判断if (book[i] == 0)//book[i]=1 表示手上没 i这张牌,0表示有{a[step] = i;book[i] = 1;//放牌store(step + 1);//关键操作book[i] = 0;//取牌}}}1.3 应用解题 xxx+xxx=xxx ; 如果暴力求解很耗时间,使用上面的方法就可以解决;
int a[10], book[10], n;// a是箱子,book是手上的数,n 表示1,2,3 总共的数 全局变量不用别赋初值void store(int step){int i;if (step == 10){if (100 * a[1] + 10 * a[2] + a[3] + 100 * a[4] + 10 * a[5] + a[6] == (100 * a[7] + 10 * a[8] + a[9])){//输出所有的排列for (i = 1; i <= 9; i++){printf("%d", a[i]);}n++;printf("\n");return;//输出完返回才会结束}}for (i = 1; i <= 9; i++){//关键 判断if (book[i] == 0)//book[i]=1 表示手上没 i这张牌,0表示有{a[step] = i;book[i] = 1;//放牌store(step + 1);//关键操作book[i] = 0;//取牌}}}int main(){store(1);printf("解的个数是%d", n / 2);getchar();return 0;}比如659 124 783和 124 659 783是重复的,所以要n/2,答案是168个解;
阅读全文
0 0
- 简单搜索
- 简单搜索
- 简单的全文搜索
- 简单的关联搜索
- pku1979 简单搜索
- 简单搜索1979@POJ
- 简单bfs 广度搜索
- 简单的文件搜索
- 搜索简单复习
- poj 3909 简单 搜索
- 简单算法--二分搜索
- poj 1166 简单搜索
- 水池数目 简单搜索
- poj1010 STAMPS 简单搜索
- 简单 页面 搜索
- 简单搜索题!
- 简单的暴力搜索
- Windows XP简单搜索
- 使用Spring Could 实现负载均衡
- Linux Shell脚本中获取本机ip地址方法
- Androidstudio快速打开一个新的project,节省时间,省去加载时间
- 机器学习之奇异值分解SVD及应用于协同过滤推荐和LSA潜在语义分析
- ROS学习第七弹--写简单的发布订阅(C++)
- 简单搜索
- Gradle DSL method not found: 'implementation()'错误解决
- SOAPUI读取Excel数据执行循环测试(loop test)
- python字符串中的单双引
- spring集成javamail发送邮件
- win10+tensorflow-gpu环境配置
- gRPC Wait for Ready
- 大规模分布式应用之海量数据和高并发解决方案
- Kotlin与Android的奇妙之旅-函数扩展(四)