美文网首页程序员
看完前任三,想起我的前任java女程序员,她曾教会我……

看完前任三,想起我的前任java女程序员,她曾教会我……

作者: ToEnd | 来源:发表于2018-01-09 09:30 被阅读129次

    前任三最近非常火了,票房蹭蹭往上升,昨天也去电影院看了,想起了我的前任,她是一名女程序员,为了让我学好java,她曾经亲自教我Java的算法,学算法是件非常重要的事,在这忍住回忆的悲伤,分享给你们。

    1.Algorithm Gossip: 八皇后(她曾经也是我的皇后)

    说明:西洋棋中的皇后可以直线前进,吃掉遇到的所有棋子,如果棋盘上有八个皇后,则这八个皇后如何相安无事的放置在棋盘上,1970年与1971年, E.W.Dijkstra与N.Wirth曾经用这个问题来讲解程式设计之技巧。解法关于棋盘的问题,都可以用递回求解,然而如何减少递回的次数?在八个皇后的问题中,不必要所有的格子都检查过,例如若某列检查过,该该列的其它格子就不用再检查了,这个方法称为分支修剪。

    2.Algorithm Gossip: 生命游戏(我们曾经都是彼此的另一半生命)

    说明生命游戏(game of life)为1970年由英国数学家J. H. Conway所提出,某一细胞的邻居包括上、下、左、右、左上、左下、右上与右下相邻之细胞,游戏规则如下:

    孤单死亡:如果细胞的邻居小于一个,则该细胞在下一次状态将死亡。

    拥挤死亡:如果细胞的邻居在四个以上,则该细胞在下一次状态将死亡。

    稳定:如果细胞的邻居为二个或三个,则下一次状态为稳定存活。

    复活:如果某位置原无细胞存活,而该位置的邻居为三个,则该位置将复活一细胞。

    解法生命游戏的规则可简化为以下,并使用CASE比对即可使用程式实作:

    邻居个数为0、1、4、5、6、7、8时,则该细胞下次状态为死亡。

    邻居个数为2时,则该细胞下次状态为复活。

    邻居个数为3时,则该细胞下次状态为稳定。

    (给你们分享一个java学习交流裙:475820025  进裙邀请码(编号):寂静。那是我一开始遇见她的地方,虽然已经不在了。

    裙内不定时分享干货和各类源码,包括2017最新的java企业案例学习资料和零基础入门教程,欢迎自学的小白和大神入群学习交流,分享源码

    3.Algorithm Gossip: 三色棋(我们曾有过通宵下棋的疯狂)

    描述:三色旗的问题最早由E.W.Dijkstra所提出,他所使用的用语为Dutch Nation Flag(Dijkstra为荷兰 人),而多数的作者则使用Three-Color Flag来称之。假设有一条绳子,上面有红、白、蓝三种颜色的旗子,起初绳子上的旗子颜色并没有顺序,您 希望将之分类,并排列为蓝、白、红的顺序,要如何移动次数才会最少,注意您只能在绳子上 进行这个动作,而且一次只能调换两个旗子。

    4.Algorithm Gossip: 老鼠走迷官(一)(爱情的迷宫,兜兜转转。。最后还是走到了分手的终点)

    问题描述:给定一个二维数组,数组中2表示墙壁,0表示通路,由此数组可展示为一个迷宫图。给定入口位置和出口位置,判断之间是否存在通路并显示出走出迷宫的道路。

    问题解答:实际上是使用回溯算法求解该问题,就是在上下左右四个方向试探,倘若有路则走一步,在新的位置继续在四个位置试探,并且对走过的路进行标记,倘若走到死胡同里,则退回上一步再来试探,以此类推,类似于图的深度优先算法,使用递归来实现。

    5.Algorithm Gossip: 老鼠走迷官(二)(如果可以的话,能和我再走一次这爱情的迷宫吗)

    说明:由于迷宫的设计,老鼠走迷宫的入口至出口路径可能不只一条,如何求出所有的路径呢?解法求所有路径看起来复杂但其实更简单,只要在老鼠走至出口时显示经过的路径,然后退回上一格重新选择下一个置继续递回就可以了,比求出单一路径还简单,我们的程式只要作一点修改就可以了。

    看完前任三,分手多年,现如今的我已经成为了一名java程序员。回忆终究只是过去。敲代码才是现在。我秃了,我也变强了。

    相关文章

      网友评论

        本文标题:看完前任三,想起我的前任java女程序员,她曾教会我……

        本文链接:https://www.haomeiwen.com/subject/pgcwnxtx.html