2021-09-26

9月26号acm学习总结

这个星期主要学习了递归全排列以及BFS与DFS的小黑书内容。
在java老师布置的作业中运用了递归全排列(因为java中没有next_permutation( ,)),也算是可以熟练的运用了。
public static int num=0;
public static void swap(int[] p,int x,int y)
{int temp;
temp=p[x];
p[x]=p[y];
p[y]=temp;
}
public static void Perm(int [] l,int begin,int end,int q)
{int i;
if(begin==end)如果是m个数中排n个数时此处应为n的值共有n!/(m-n)!个数
{for(int r=0;r<q;r++)
{System.out.print(l[r]);}
System.out.println();
num++;
}
else
{for(i=begin;i<=end;i++)
{
swap(l,i,begin);
Perm(l,begin+1,end,q);
swap(l,i,begin);
}
}

}

其次是BFS与DFS搜索的有关内容,思想与区别。
像其中按初始点的左右上下搜索遍历的思想
int v[4][2]={
{-1,0},{0,1},{0,-1},{1,0} };
for(int q=0;q<4;q++)
{next.x=start.x+v[q][0];next.y=start.y+v[q][1];}
还有DFS结合贪心(像曼哈顿距离两点的横纵坐标距离差的和来代表距离大小)。
感觉自己的进度实在是有些慢,愿下星期可以多学一点,早日结束小黑书内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值