摘要:
关于编程的学习,大家肯定都知道,也是大家都说来说去的,就几句话:1.多看书。2.多看代码。3.多敲代码。这些我不想多说,也觉得没有多说的必要。经常在CSDN上看到有人问“我学习C++一段时间了,该如何进阶?”,然后接着就是一大堆的人,重复这上面的三句话或者更多,我不是说这些方法是错的,我只是认为,这样没有点到本质,初学者喜欢依赖于书籍,他们看书了,他们也照着书敲了代码,但是他们就是感觉一直在基础的层面上打转,这是为何呢?在C++里定义复制构造函数时,大家知道,一般对于类中含有指针的,要进行深复制,而不是浅复制。而我在这里也要讲一个类似的方法,那就是关于编程的浅学习与深学习的问题。大家在这里可以 阅读全文
2010年12月13日
摘要:
已出连载:1.《随机化算法(1) — 随机数》2.《随机化算法(2) — 数值概率算法》3.《随机化算法(3) — 舍伍德(Sherwood)算法》正文:悟性不够,这一章看代码看了快一个上午,才理解。上一章讲过《概率算法(3) — 舍伍德(Sherwood)算法》,但是他的有点是计算时间复杂性对所有实例而言相对均匀,而其平均时间复杂性没有改变。而拉斯维加斯算法怎么显著改进了算法的有效性。拉斯维加斯算法的一个显著特征是它所作的随机性决策有可能导致算法找不到所需的解。因此通常用一个bool型函数表示拉斯维加斯算法。[代码]考虑用拉斯维加斯算法解决N皇后问题:对于n后问题的任何一个解而言,每一个皇后 阅读全文