随笔分类 -  算法盒子

摘要:简述 本算法摘选自啊哈磊所著的《啊哈!算法》第四章第六节的题目——水管工游戏。文中代码使用C语言编写,博主通过阅读和理解,重新由Java代码实现了一遍。 游戏介绍 游戏内容介绍在原文中表述详细,并附带了图片加以说明,同时给出了解答思路,这里有点需要说明的是,原文中作者为了方便读者理解,特地将开始位置 阅读全文
posted @ 2019-06-21 18:58 Captain&D 阅读(1314) 评论(0) 推荐(0)
摘要:简述 本算法摘选自啊哈磊所著的《啊哈!算法》第四章第三节的题目——BFS算法再次解救小哈。文中代码使用C语言编写,博主通过阅读和理解,重新由Java代码实现了一遍,以此来理解BFS算法。关于解救小哈的迷宫题目,可以参看前一篇博文。 啊哈算法之解救小哈:https://www.cnblogs.com/ 阅读全文
posted @ 2019-06-19 20:00 Captain&D 阅读(957) 评论(0) 推荐(0)
摘要:简述 本算法摘选自啊哈磊所著的《啊哈!算法》第四章第二节的题目——DFS算法解救小哈。文中代码使用C语言编写,博主通过阅读和理解,重新由Java代码实现了一遍,以此来加深对DFS算法的印象。 游戏设置 迷宫由n行m列的单元格组成(n和m小于等于50),每个单元格要么是空地要么是障碍物,障碍物是不能通 阅读全文
posted @ 2019-06-17 19:16 Captain&D 阅读(1059) 评论(0) 推荐(0)
摘要:简述 本算法摘选自啊哈磊所著的《啊哈!算法》第四章第一节的内容——深度优先搜索(DFS)。其实这个名词以前听说过很多次,但是就是没有了解过这是什么东西,感觉很深奥离自己还很远,而且目前遇到的项目中一直都未曾有使用这种算法来解决问题,可能是我才疏学浅不会用吧,所以对这算法的概念和用法也知之甚少。结此学 阅读全文
posted @ 2019-06-17 19:08 Captain&D 阅读(1679) 评论(0) 推荐(0)
摘要:简述 本算法摘选自啊哈磊所著的《啊哈!算法》第三章第二节的题目——枚举法破解炸弹人游戏。文中代码使用C语言编写,博主通过阅读和理解,重新由Java代码实现了一遍。 游戏简述 通过放置炸弹的方法来消灭敌人,炸弹只能放置在空地上,炸弹可以向上下左右四个方向炸开,碰到敌人可以消灭,但是碰到墙则停止这个炸弹 阅读全文
posted @ 2019-06-14 14:54 Captain&D 阅读(1482) 评论(0) 推荐(0)
摘要:简述 本算法摘选自啊哈磊所著的《啊哈!算法》第二章第三节的题目——纸牌游戏小猫钓鱼。文中代码使用C语言编写,但是仔细看了一遍发现原书中有个细节是错误的,也就是说按照算法题目意思,原书中作者的代码是有出入的,具体可以往本篇博文继续看。 博主通过阅读和理解,重新由Java代码实现了一遍,意在深刻理解队列 阅读全文
posted @ 2019-06-13 19:59 Captain&D 阅读(3642) 评论(1) 推荐(2)
摘要:简述 本算法摘选自啊哈磊所著的《啊哈!算法》第二章第二节的题目——使用栈来解密回文。文中代码使用C语言编写,博主通过阅读和理解,重新由Java代码实现了一遍,意在深刻理解栈这一数据结构的特性和操作方法,并希望能够在这种数据结构的帮助之下,解决其他的类似的能够用栈来解决的问题。(哈哈,偷懒了,引用了上 阅读全文
posted @ 2019-06-13 17:06 Captain&D 阅读(922) 评论(0) 推荐(0)
摘要:简述 本算法摘选自啊哈磊所著的《啊哈!算法》第二章第一节的题目——使用队列来解密举例中按照规则加密的QQ号。文中代码使用C语言编写,博主通过阅读和理解,重新由Java代码实现了一遍,意在深刻理解队列这一数据结构的特性和操作方法,并希望能够在这种数据结构的帮助之下,解决其他的类似的能够用队列来解决的问 阅读全文
posted @ 2019-06-12 22:40 Captain&D 阅读(715) 评论(0) 推荐(0)
摘要:简述 快速排序是一种排序执行效率很高的排序算法,它利用分治法来对待排序序列进行分治排序,它的思想主要是通过一趟排序将待排记录分隔成独立的两部分,其中的一部分比关键字小,后面一部分比关键字大,然后再对这前后的两部分分别采用这种方式进行排序,通过递归的运算最终达到整个序列有序,下面我们简单进行阐述。 快 阅读全文
posted @ 2019-06-10 19:29 Captain&D 阅读(92479) 评论(2) 推荐(2)
摘要:最近逛博客发现几个很有意思的算法题,大都是二进制相关的移位和位运算相关的,为此我暂且归为一类来整理学习,这也为后续遇到同等问题可以提供解法和思路。 当前文章基于JDK 1.8进心学习和测试。 一、判断一个整数是偶数还是奇数 题目很简单,就是判断一个整数是偶数还是奇数,整数可能是负数、零和正数。 解法 阅读全文
posted @ 2019-06-03 16:09 Captain&D 阅读(959) 评论(0) 推荐(0)
摘要:简述 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把 阅读全文
posted @ 2019-05-31 19:03 Captain&D 阅读(4952) 评论(0) 推荐(0)
摘要:选择排序和冒泡排序同样是基础排序算法,现在也做个学习积累。 简述 选择排序算法较为稳定,基本上都是O(n2)的时间复杂度,规模越小排序越快,不需要占用额外空间。其实选择排序原理很简单,就是在未排序序列中找到最小(大)的元素然后放到数组前面,然后再从剩下的未排序序列中找到最小(大)的元素放在上一次找到 阅读全文
posted @ 2019-05-29 20:36 Captain&D 阅读(3528) 评论(0) 推荐(0)
摘要:冒泡排序是一种简单基础的排序算法,相信在大学课堂里老师已经讲过了,现在我基于Java来实现一遍。 简述 冒泡排序正如其关键词一样,杂乱的气泡经过浮动,最后大的气泡飘到了上面而小的气泡在下面,无序的元素序列的排序规则也是如此,每次比较相邻的两个数值,如果前面的数值大于后面的数值则进行交换,最后会将本次 阅读全文
posted @ 2019-05-10 16:19 Captain&D 阅读(10463) 评论(0) 推荐(0)