首页 > 其他分享 >全排列(深度优先遍历)

全排列(深度优先遍历)

时间:2022-11-17 19:57:20浏览次数:43  
标签:优先 遍历 int 深度 malloc depth used printf path

一.代码

#include<stdio.h>
#include<malloc.h>
int n;
int* a;
int* used;
int* path;

void init() {
	printf("请输入n:");
	scanf("%d", &n);
	a = (int*)malloc(sizeof(int) * n);
	used = (int*)malloc(sizeof(int) * n);
	path = (int*)malloc(sizeof(int) * n);
	for (int i = 0; i < n; i++) {
		scanf("%d", a + i);
		used[i] = 0;
	}
}

void dfs(int depth) {
	if (depth == n) {
		for (int i = 0; i < n; i++)
			printf("%d ", path[i]);
		printf("\n");
	}
	for (int i = 0; i < n; i++) {
		if (used[i])
			continue;
		used[i] = 1;
		path[depth] = a[i];
		dfs(depth + 1);
		used[i] = 0;
	}
}

void fullPermutation() {
	printf("所给数的全排列有:\n");
	dfs(0);
}

int main() {
	init();
	fullPermutation();
	return 0;
}

二.递归树

三.总结

学习初级的图的运用。

标签:优先,遍历,int,深度,malloc,depth,used,printf,path
From: https://www.cnblogs.com/cony1/p/16900579.html

相关文章

  • 深度学习框架中的“自动求导”原理是什么?
        =======================================================  参考:深度学习框架——自动求导......
  • 声网深度学习时序编码器的资源预测实践丨Dev for Dev 专栏
    本文为「DevforDev专栏」系列内容,作者为声网大后端智能运营算法团队算法工程师@黄南薰。随着深度学习技术的发展,编码器的结构在构建神经网络中成为了热门之选,在计算......
  • linux文件遍历与查找
    linux文件遍历与查找1.在linux中遍历一个文件夹中文件的shell脚本#!/bin/sh-forfilein`ls`doecho$filedone若在directory01目录下运行这个脚本,则会把direc......
  • RabbitMq队列优先级
    RabbitMq队列优先级使用场景在我们系统中有一个订单催付的场景,我们的客户在天猫下的订单,淘宝会及时将订单推送给我们,如果在用户设定的时间内未付款那么就会给用户推送一......
  • 深度学习之 BN(Batch Normalization)批归一化
    从字面意思看来BatchNormalization(简称BN)就是对每一批数据进行归一化,确实如此,对于训练中某一个batch的数据{x1,x2,…,xn},注意这个数据是可以输入也可以是网络中间的某一层......
  • c#深度复制
    ///<summary>///深度复制///</summary>///<typeparamname="T"></typeparam>///<paramname="obj"></param>///<ret......
  • VUE3 elment-ui el-tabel遍历实现表格的自定义列【KEY值为列名】
    <template><div><el-table:data="resultTable"borderref="multipleTable"tooltip-effect="light"size="mini"><el-table-columntype="i......
  • 深度学习环境配置(Ubuntu+Anaconda)
    写在前面:学习深度学习时经常要复现别人的代码,不同的代码通常需要不同的环境(例如python2\python3,tensorflow1\tensorflow2),使用anaconda创建虚拟环境就可以很好的配置和管理......
  • 深度学习调参技巧合集
    本文参考自公众号【夕小瑶的卖萌屋】的文章一、寻找合适的学习率学习率是一个非常非常重要的超参数,这个参数呢,面对不同规模、不同batch-size、不同优化方式、不同数据集,其......
  • 121. 买卖股票的最佳时机 ----- 动态规划、历史最小一次遍历
    给定一个数组prices,它的第 i个元素 prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计......