02月16, 2017

编程

Everybody in this country should learn how to program a computer, because it teaches you how to think. - Steve Jobs

作为乔帮主的粉,很认同他对于自己产品热爱的那份情感。对于编程也一样,如果没有兴趣是肯定不行的,但是兴趣又是培养的,在编程过程中体验乐趣是很重要的。

读书的时候老师会教你程序设计的课程,我们这里把它叫做编程。比如可以抽象是:

Programs = Algorithms + Data Structures

I. 对于数据结构,可以用一个简单的例子来理解一下。

一堆书有两种简单放的方式:

  1. 重叠放
  2. 摊开放

语言的表达太淡,来个简单的图:

解释图

那么对于这里的数据结构就是这三本书放的方式,每一种方式都有各自的好处。

II. 那么算法是什么呢?

算法就是解决处理问题的策略或者说对信息的处理过程。我理解的算法是逻辑相关过程式的。 接着上面取书的例子,我要拿第二本书,具体过程是什么呢? 第一种方式我们要取第二本书的话(严谨一点的是在不移动当前书的空间位置的情况下),必须要把第一本书拿开。 第二种方式的话,我们只需要拿中间那本书就行了。

// 第一种方式
books: ["第一本书", "第二本书", "第三本书"]
needTakeBook: 2
takeBook: 1

while(takeBook < needTakeBook)
    do books -> take // 不断地拿书

books: ["第二本书", "第三本书"]
books -> take // 拿到第二本书
// 第二种方式
books: ["第一本书", "第二本书", "第三本书"]
books -> takeTheSecond

其实上面拿书的方式的代码就是实现了算法,算法本质上就是思考这个场景下的策略。 编程本身是抽象的,学会了抽象就学会了编程。

那么要一个好看能看的东西我们就需要换一些描述来显示出来。

生病了,随便写点吧~休息了。

本文链接:http://www.60sky.com/post/love-code.html

-- EOF --

Comments