高继军

高继军的博客

他的个人主页  他的博客

看算法书不如先来做题

高继军  2010年04月25日 星期日 11:08 | 2057次浏览 | 11条评论

爱生活,爱python

http://projecteuler.net/

euler,就是传说中的欧拉了,随手贴个题

In the 20 × 20 grid below, four numbers along a diagonal line have been marked in red.

08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08
49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00
81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65
52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91
22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80
24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50
32 98 81 28 64 23 67 10  26  38 40 67 59 54 70 66 18 38 64 70
67 26 20 68 02 62 12 20 95  63  94 39 63 08 40 91 66 49 94 21
24 55 58 05 66 73 99 26 97 17  78  78 96 83 14 88 34 89 63 72
21 36 23 09 75 00 76 44 20 45 35  14  00 61 33 97 34 31 33 95
78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92
16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57
86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58
19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40
04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33 27 98 66
88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69
04 42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36
20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74 04 36 16
20 73 35 29 78 31 90 01 74 31 49 71 48 86 81 16 23 57 05 54
01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48

The product of these numbers is 26  ×  63  ×  78  ×  14 = 1788696.

What is the greatest product of four adjacent numbers in any direction (up, down, left, right, or diagonally) in the 20 × 20 grid?

顺便贴一下成绩,有兴趣的一起来做题呗 ^_^

Problems

Problems Solved: 17 out of 289
(8 more until first level)

Current Performance:

N/A
(Based on problems 265 to 289)

一点想法:

学算法还是用python比较好,因为算法和数据结构不分家,如果数据结构学的不够好的话,想用C语言实现一个算法还是比较纠结的;但是python就不同了,list和dict的强大就不需要我这个菜鸟在这儿卖弄了。

于是,当你用python实现一个算法的时候,数据结构的部分不会造成很大困扰,就已经站在一个比较高的层次上了,这就是传说中的抽象么?回过头来,当你用python写完程序,再用C语言写,是不是比你上来就用C语言写简单多了呢 ;o)

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
小包

回复 小包  2010年04月26日 星期一 11:59

不那么认为,如果是在工程上面做开发,就可以选择更好的避免这样的情况,如果在学习阶段的 我觉得还是应该学C 虽然数据结构很复杂 但是一旦弄明白了 干什么都不是难事 也对其他语言容易理解!

5条回复

  • 高继军

    回复 高继军  2010年04月26日 星期一 21:03

    哈哈,也许没我们讨论的这么复杂,一句话,学就对了

    0条回复

  • 高继军

    回复 高继军  2010年04月26日 星期一 13:14

    嗯,C语言的学习还是有必要的;但是要在短时间内把C语言版本的数据结构学好还是得花一定功夫的。尤其是在大环境比较浮躁的条件下。我记得自己学算法的时候,也想着把算法实现,但是经常遇到的问题就是数据结构、指针方面的问题。当然,我得承认没好好学习了...不过对于算法倒确实能够理解。
    C语言的学习对于python当然是有很大帮助的,反过来,python似乎也能促进C语言,至少数据结构,算法似乎不是那么难了^_^

    3条回复

      • 小包

        回复 小包  2010年04月26日 星期一 13:35

        那不叫促进 那叫逃避,如果你走来就学习PYTHON 那么你就不能搞清楚 数据结构。。学得好就一个模糊的概念,就像一个被健康式的教育后 远离了真理真相,貌似python 这方面就一个健康的设计者,说严重点就是一个魔鬼。。


        个角度讲 他是提供给一些工程上一些普片的算法设计的 就是为了节省更多的时间不需要浪费大量的时间在这些算法结构上!

        2条回复

          • 高继军

            回复 高继军  2010年04月26日 星期一 13:45

            呵呵,并不是说因为用python所以觉得数据结构简单了,而是站在一个高一点的角度,所以不惧怕回头去看数据结构。


            你说的先学python就不能搞清楚数据结构。我觉得未必。并不是说学了python就不学C了。这里有一个学习顺序的问题。我倒不觉得先学C就高明了。有时候,从简单的入手,循序渐进,是不是更好呢?

            1条回复

              • 小包

                回复 小包  2010年04月26日 星期一 14:18

                我的意思是在学习PYTHON 和C 这两个的顺序 我觉得更应该先学C 我并没说学PYTHON 就不能搞清楚数据结构,而是在学这个东西的时候 给人的感觉是模糊不确定的。。有种被娱乐的感觉,所以我才觉得先学C要好一

                0条回复

张家瑞

回复 张家瑞  2010年04月25日 星期日 22:15

数据结构都不过关,还学啥算法啊。。。。

4条回复

  • 高继军

    回复 高继军  2010年04月25日 星期日 22:35

    也不尽然,依我看,搞算法的更多是一种思维方式,而数据结构则与算法的实现密切相关;而算法本身和算法的实现似乎是两码事~

    3条回复

      • 张家瑞

        回复 张家瑞  2010年04月26日 星期一 09:13

        哦。我明白你的意思了。呵呵。确实,c语言的数据结构需要自己写,很麻烦的。这样会耽误好多时间在数据结构上面。

        2条回复

          • 高继军

            回复 高继军  2010年04月26日 星期一 13:15

            呵呵,大概就是这个意思。倒也不是耽误时间。我想说的就是:将问题尽量简化

            1条回复

              • 张家瑞

                回复 张家瑞  2010年04月26日 星期一 13:17

                嗯,这样就不用在不同的抽象层次之间跳来跳去了。

                0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号