剪枝搜索优化 在实际问题中,搜索是最容易想到、应用最广的算法之一。但搜索树的规模往往是庞大的,由于搜索算法的时间复杂度是指数型,最终代码的执行效率可以说是极低。我们只需要尽可能减少搜索树的规模,也就是尽量减少搜索的节点数量和路径数量,就可以实现程序的轻量化和高效化。这一过程即可称之为剪枝。每次剪枝相当于剪去了搜索树上的一条边,减少的节点数量相当于此边连接的子树大小。
DFS深度优先搜索算法初探 今天我继续和诸君分享我的算法心得。(dalao请轻喷)DFS(深度优先搜索算法)可以说是最具代表性的初级算法之一。其旨在树的结构下进行试探性遍历,从而更新节点信息。个人认为,要想学好DFS,首先对代码的模拟能力一定要有一定基础,即可以根据实际问题编写出合适的代码,把自己的意图较为精确地传达给计算机。实际上,DFS是基于树和图的数据结构上的算法,但我在最初学习DFS时并没有学过图论(所以说到底我是个蒟蒻),因此很多理解都是非官方的。
4种方法解决约瑟夫环问题 本篇文章我们总结了关于约瑟夫环问题的几种解法,它们各有优势,读者可以根据实际需要自行选择。好的问题可以引发学习者的思考,寻找更优解可以让攀登者更上一层楼。希望本篇文章能对你有所帮助,我们共勉。
学习C++第十周 优化贪吃蛇 形成项目体系 本周我回顾了以前写过的贪吃蛇程序,正如我之前所说的那样,它是存在许多不足之处的,所以我抽出一点时间对其做出了优化,并且也加入了一些新元素。当然,由于时间的缘故,很多有趣的想法我还并没有实现,比如加入特殊果实触发的彩蛋模式等等......这些都是后话了。以下是我的代码分享。
学习C/C++第六周 尝试写贪吃蛇游戏 学习C/C++一月有余,我在基本了解了它们的核心内容以及部分算法后,开始尝试此前认为有难度的贪吃蛇游戏。不同于我之前写过的迷宫游戏,贪吃蛇在动态画面的要求会更高。解决这个问题花了我不少时间。耗时将近两个小时,我写出了贪吃蛇第一版,并在接下来一天时间内反复修改,得到了比较满意的结果。我认为这足够证明我这个月的长足进步。
学习C语言的第三周 尝试迷宫游戏 在大致了解完C语言的基本类型和部分函数后,我开始对难度稍微高一点的目标产生了兴趣。此前没有接触过任何编程语言的我在试着做迷宫游戏的时候遇到了许多困难,但在我查阅书籍和网站后都一一解决了,这种成就感是无可复加的。目前我的迷宫游戏还有许多瑕疵,我会一直改进。此贴用于记录个人进步历程。