写给妹妹的编程札记
文章平均质量分 78
水滴杂谈
这个作者很懒,什么都没留下…
展开
-
写给妹妹的编程札记 - 排序
排序, 顾名思义,就是将一个给定集合的元素按定义的比较函数排列为有序状态。 下面是一些常见的排序方法, 应该熟悉掌握这些排序方法, 了解它们的优缺点,在正确的场景使用它们。原创 2013-11-24 01:01:40 · 899 阅读 · 0 评论 -
写给妹妹的编程札记 2 - 穷举: 初识剪枝
在上次的文章《穷举 - 从循环到递归》中, 介绍了从直接的循环到搜索的穷举实现。 稍有经验的程序员都能看到上文中的八皇后问题效率大大的低, 有很多改进空间。 从上图很容易看到, 我们穷举所有情况, 然后再一一判断是否是合法的八皇后解。 总共需要穷举8^8 = 16777216个情况。 实际结果, 我们已经知道,只有92个合法的解。很容易, 我们会有一个想法: 能不能早原创 2013-11-16 22:00:10 · 1941 阅读 · 0 评论 -
写给妹妹的编程札记 1 - 穷举: 从循环到递归
编程(Programming)的含义可能很大, 在此我们局限于使用计算机编写程序解决问题。 要说计算机, 最重要的优点就是“非常听话”, 只要你能够通过她能够理解的语言(编程语言)给出你的指示, 她就会任劳任怨地执行, 不管多么的机械枯燥。换句话说, 计算机相比人,尤其适合干机械的事情。 比如, 求 1 + 2 + 3 + ... + 100 假如没有原创 2013-11-14 08:28:28 · 1797 阅读 · 0 评论 -
写给妹妹的编程札记 3 - 穷举: 深度优先搜索/广度优先搜索
前文,我们讨论了从循环遍历到搜索基本框架,并解决了一个经典的八皇后问题。对搜索剪枝也有了一些基本的了解。 下面, 我们来看看搜索的两个最基本的策略: 深度优先搜索和广度优先搜索。 Wikipedia上有比较简单的介绍 (英文版包含更多的参考信息) 深度优先搜索: http://zh.wikipedia.org/wiki/%E6%B7%B1%E5%原创 2013-11-24 12:02:03 · 1980 阅读 · 0 评论 -
写给妹妹的编程札记 4 - 搜索: 迷宫问题 - 深度优先搜索
《写给妹妹的编程札记 3 - 穷举: 深度优先搜索/广度优先搜索》中, 我们了解到基本的深度优先搜索和广度优先搜索。 来点实战吧, 使用搜索技术来解决一些实际的问题。 首先来看看怎么使用深度优先搜索解决迷宫问题? 假设,输入的迷宫如下列数据表示: 第一行包含两个整数,分别表示行数 - r 和列数 - c原创 2013-12-05 01:31:31 · 1602 阅读 · 0 评论 -
写给妹妹的编程札记 5 - 搜索: 迷宫问题 - 广度优先搜索
让我们也使用广度优先搜索来解决一下迷宫问题,对比一下。原创 2013-12-05 02:45:27 · 1588 阅读 · 0 评论 -
写给妹妹的编程札记
家有小妹, 在我这大哥的潜移默化影响下,误入“歧途”,成了一名程序媛。又因非专业出身, 基础多有欠缺, 平常偶有讨论问题,限于电话描述不清,或讨论不够系统,效果也不见好。 故, 萌生编写《写给妹妹的编程札记》的念头, 把平常讨论的一些东西记录下来。 谨以此文作为引子, 和将来博文的索引。 1. 穷举 2. 穷举 - 简单的剪枝原创 2013-11-12 23:27:30 · 913 阅读 · 0 评论 -
写给妹妹的编程札记 6 - 搜索实战: 单词博弈
最近,CSDN上的在线编程比赛中,有一道题目《单词博弈》。这道题目是一个很好的可以使用搜索来解决的例子。题目详情本第一次在线编程大赛由文思海辉冠名,题目如下:甲乙两个人用一个英语单词玩游戏。两个人轮流进行,每个人每次从中删掉任意一个字母,如果剩余的字母序列是严格单调递增的(按字典序a < b < c <....<z),则这个人胜利。两个人都足够聪明(即如果有赢的方案,都不会选输的方案 ),原创 2013-12-21 21:31:25 · 2032 阅读 · 1 评论