![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《啊哈!算法》
八咫鸦是我的光!
菜鸟的志向!
展开
-
全排列的知识点
首语首先要知道,什么是全排列百度百科上定义:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。公式:全排列数f(n)=n!(定义0!=1)基本操作步骤最基本的全排列看了b站up 的视频,了解大概基础我手动敲一下这个代码哈#include<stdio.h>void swap(int A[],int i,int j){int temp=A[i];A[i]=A[j];A[j]=t原创 2021-05-22 19:14:58 · 639 阅读 · 2 评论 -
Day3第四章 万能的搜索~深度优先搜索
#include<stdio.h>int a[10],book[10],n;//此处特别说明一下,c语言的全局变量在没有赋值以前默认为0,因此这里的book数组无需再次赋初始值0void dfs(int step)//step表示现在站在第几个盒子面前{ int i; if(step==n+1)//如果站在第n+1盒子已经放好扑克牌 { //输出一种排列(1~n号盒子中的扑克牌) for(i=1;i<=n;i++) printf("%d",a[i]); pri原创 2021-04-23 14:01:14 · 73 阅读 · 0 评论 -
Day2《啊哈算法》并查集
并查集(不相交集数据结构)解决问题:解密犯罪团伙共有n个强盗,m条线索(x强盗和y强盗是同伙),请问有多少个独立的犯罪团伙?#include<stdio.h>int f[1000]={0},n,m,k,sum=0;//这里是初始化,数组里存的是自己数组下标的编号void init(){ int i; for(i=1;i<=n;i++) f[i]=i;}//这里是找爹的递归函数,不停地去找爹,直到找到祖宗为止,//其实就是去找犯罪团伙的最高领导人,“擒贼先擒王”原原创 2021-04-19 13:04:53 · 224 阅读 · 3 评论 -
Day1《啊哈!算法》树
树的特性:1.一棵树中的任意两个结点有且仅有唯一的一个路径联通2.一棵树如果有n个结点,那么它一定恰好有n-1条边3.在一棵树中加一条边将会构成一个回路。树:任意两个节点间有且仅有一条路径的无向图叶节点:无子节点根结点:无父节点内部节点:既不是根结点,也不是叶节点深度:从根到该结点的层数二叉树:每个节点最多有两个儿子(子树)定义:二叉树要么为空,要么由根结点、左子树和右子树构成,左子树和右子树分别是一颗二叉树满二叉树:每个内部结点都有两个儿子(严格定义:深度为h且有2^h-1个结点)原创 2021-04-18 13:38:31 · 115 阅读 · 0 评论