深度优先搜索—C—python
来源:互联网 发布:mac 彻底删除office 编辑:程序博客网 时间:2024/05/22 10:36
深度优先搜索的基本模型:
void dfs(int step) { 判断边界 尝试每一种可能for(i=1;i<=n;i++) { 继续下一步 dfs(step+1); } 返回 }
任务:深度优先搜索,把1-n放入n个盒子里,有几种放法*
C实现
#include<stdio.h>int n,book[10],a[10];void dfs(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) { a[step]=i; book[i]=1; dfs(step+1); //继续搜索直到完成一种放法 book[i]=0; //归零才能进行下一次尝试 } } return;}int main(){ scanf("%d",&n); dfs(1); return 0;}
python实现
def depth_first_box(step): if step == n+1: for i in range(1, n+1): print(lists[i], end=' ') print('\n') return for j in range(1, n+1): if book[j]==0: book[j]=1 lists[step]=j depth_first_box(step+1) book[j]=0 returnif __name__=='__main__': lists = [0] * 11 book = [0] * 11 n = int(input("输入n:")) depth_first_box(1)
阅读全文
0 0
- 深度优先搜索—C—python
- 迷宫最短路径 深度优先搜索—C—python
- 图的深度、广度优先搜索——C/C++
- 搜索——深度优先搜索
- 组合算法——深度优先搜索
- DFS——深度优先搜索基础
- 深度优先搜索——毕业BG
- 深度优先搜索——迷宫
- 深度优先搜索——DFS遍历
- 深度优先搜索——单词方阵
- 走迷宫——深度优先搜索
- 图——深度优先搜索(Graph
- 算法思维——深度优先搜索
- DFS-深度优先搜索—2
- 深度优先搜索算法—DFS
- 图搜索——深度优先与广度优先
- 广度优先、深度优先搜索算法——LeetCode
- C/C++: 邻接矩阵 深度优先搜索
- 爬虫实战12—自动摘要及正文抽取
- JavaWeb Session 之表单的重复提交
- Mycat概述
- SVM之对偶问题
- Mathematical Field of Experiments (打表)
- 深度优先搜索—C—python
- exit函数
- SVM之核函数
- codility MinPerimeterRectangle
- Leap Motion C++ 开发笔记(二) 打开摄像头
- spring-boot入门(二)
- 米语录交流学习(三)
- linux下安装python环境
- 程序员如何提问整理