如何优雅地使用深度优先搜索?

7ff13e111b01e76d239b122ef74fd70f.png

点击蓝字 关注我们

ce629246d843a84eedb3c3d04a6be680.png

上周我们在【算法学与练】专栏中,讲到了排序中的循环排序、计数排序和归并排序,还有一种排序也需要大家重点掌握,这种排序叫做快速排序

想获取算法题解,回复【算法】即可~除此之外,蓝桥云课专属算法刷题群随时为你开放~

e2f11920875b96074a2ae5bcf3a321fd.png

快速排序

它是对冒泡排序算法的一种改进,它的基本思想是:通过一趟排序将待排记录分割成独立的两部分。

其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,已达到整个序列有序。

f0b3ef4bcc31b976de225c355664ef88.gif

排序的练习题来啦!

0cc8c1d9c28f6257249bde64bcf33c5b.png

想获取题解,在菜单栏回复【算法】即可哦!

上周算法刷题的知识点除了排序外,还有搜索。

搜索

搜索算法是利用计算机的高性能来有目的的穷举一个问题解空间的部分或所有的可能情况,从而求出问题的解的一种方法。

现阶段一般有枚举算法、深度优先搜索、广度优先搜索、A*算法、回溯算法、蒙特卡洛树搜索、散列函数等算法。

现在主要讲的是深度优先搜索,它所遵循的搜索策略是尽可能“深”地搜索树

它的基本思想是:为了求得问题的解,先选择某一种可能情况向前(子结点)探索,在探索过程中,一旦发现原来的选择不符合要求,就回溯至父亲结点重新选择另一结点,继续向前探索,如此反复进行,直至求得最优解。

792b6322162ed6c7c4f621e2e432918c.png

剪枝算法是一个搜索算法旨在减少在其搜索树中,被极大极小算法评估的节点数。这是一个常用人机游戏对抗的搜索算法,它的基本思想是根据上一层已经得到的当前最优结果,决定搜索是否要继续下去。

但是这个算法严重依赖于着法的寻找顺序,如果你总是先去搜索最坏的着法,那么 Beta 截断就不会发生,因此该算法就如同最小-最大一样,效率非常低。

e83464f64047af50a66a19ca561ce3d6.png

练习题来啦!

1.N 皇后问题

280eee9f15d45f27ffb38803cdb84e63.png

2.四平方和

5326522dadbe7e6233b4a236cca4a2d2.png

3.完美正方形

bdda3d22be080842a1ce78749c22980e.png

7e38ab6a93aa60f6ffd74849897697f9.png

4eb13a6f51c67a32fc6d84cfb50a5fce.png

蓝桥云课专属算法刷题群随时为你开放,提前祝贺你成为更优秀的自己~

▼欢迎加入算法刷题群▼

217b211cc706894205d7f0b7e52bbfbc.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用:正所谓下最笨的功夫,可以才能走的更加稳健,所以建议大家都不要给自己设限,在精通一门的同时,其他的逐渐进行兼顾,尤其是公司里面的隐私计算的领导者,更需要从知识的深度和广度都进行加强。进而设计出更加可行、更加优雅、更加高效的方案,推动隐私计算技术的发展。 引用:从上面的描述中,可以看出隐私计算是一门非常多学科交叉的领域,真正要做到顶尖是非常困难的,因为目前的职场模式基本都是专才,很少有通才,专才有专才的好处,通才有通才的益处,通才的意义在于能这个多学科的交叉领域,在探索的过程中,基于其更加全面、更加符合实际情况的考量,设计出最可行、最优雅的方案,将隐私计算的多个部件进行有机的组合,绽放出最大的价值。 根据以上引用内容可知,隐私计算是一个多学科交叉的领域,需要在深度和广度上进行加强。在深度上,专才的好处是能够在有限的时间内对特定领域进行加深加强,从而实现突破。而在广度上,通才的意义在于能够在多学科交叉的领域中进行探索,设计出最可行、最优雅的方案,将隐私计算的多个部件有机地组合起来,发挥最大的价值。 深度优先搜索(DFS)和广度优先搜索(BFS)是计算机科学中的两种常用的图搜索算法。DFS是一种遍历图的算法,它从一个节点开始,沿着一条路径直到无法继续扩展,然后回溯到上一个节点,继续遍历未被访问的节点,直到遍历完整个图。BFS则是从起始节点开始逐层遍历,

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值