树形结构的3中搜索方式示例分享
搜索 方式 示例 分享 结构 树形
2023-06-13 09:15:18 时间
/**
树的3中常见搜索方式
1.二叉树方式(每一层只有0和1)
2.满m叉树(每一层都有0到m-1)
3.子集树,也称为全排列树
*/
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
usingnamespacestd;
constintM=20;
intn,m;
intans[M];
//二叉树
voiddfs_two(intcur){
if(cur==n){
for(inti=0;i<n;i++){
cout<<ans[i]<<"";
}
cout<<endl;
return;
}
ans[cur]=1;
dfs_two(cur+1);
ans[cur]=0;
dfs_two(cur+1);
}
//m叉树
voiddfs_m(intcur){
if(cur==n){
for(inti=0;i<n;i++){
cout<<ans[i]<<"";
}
cout<<endl;
return;
}
for(inti=0;i<n;i++){
ans[cur]=i;
dfs_m(cur+1);
}
}
boolvis[M];
//子集树
voiddfs_sub(intcur){
if(cur==n){
for(inti=0;i<n;i++){
cout<<ans[i]<<"";
}
cout<<endl;
return;
}
for(inti=0;i<n;i++){
if(false==vis[i]){
vis[i]=true;
ans[cur]=i;
dfs_sub(cur+1);
vis[i]=false;
}
}
}
intmain(){
n=5;
memset(ans,-1,sizeof(ans));
memset(vis,false,sizeof(vis));
dfs_two(0);//二叉树搜索
dfs_m(0);//满m叉树搜索
dfs_sub(0);//子集树搜索
return0;
}
相关文章
- 2.1pycharm 设置Python模块的搜索路径的方式「建议收藏」
- 最佳实践|用腾讯云AI图像搜索打造属于自己的拍立淘
- 二叉树 二叉搜索树_二叉查找树
- 启发式搜索
- SQL中搜索中文无效或Select中文变乱码
- Github高效搜索方式
- 算法-二叉搜索树的后序遍历序列详解编程语言
- “东京奥运会”专题页面上线百度搜索:7月23日正式开幕
- MySQL模糊表名查询:简单高效的数据搜索方式(mysql模糊表名)
- Oracle 引入随机查询功能,数据库搜索更加高效(oracle随机查询)
- 键入高效数据库搜索:深入解析Go和MongoDB的强大组合(gomongodb)
- Linux查询文件夹:最快速的搜索方式(linux 查询文件夹)
- Linux查找文件的命令汇总:快速精准的搜索方式(linux查找文件的命令)
- 搜索结果b站上MySQL精彩讲解最强大播主(b站mysql谁讲得好)
- 搜索出更精彩发现类似Redis的软件(类似redis的软件)
- mssql30万条数据搜索文本字段的各种方式对比
- Android文本框搜索和清空效果实现代码及简要概述
- JS实现关键字搜索时的相关下拉字段效果