对CS106B课程(抽象编程)的笔记与思考1

 //**********引子***********

要开始静下心来学计算机了。经历了许多计算机方面无谓的尝试比如操作系统,各种开发环境的配置,各种软件的测试之后,觉得应该从最最基本的内容开始,有计划地一步一步学习计算机了。作为一个非科班的人士,在这里写写笔记,只当是自我消遣了,若有人看到这些拙劣的文字,可以放肆的大笑,可是别让我知道了~

 //**********正文***********

我给自己定的第一个计划是先学习网易公开课CS106B抽象编程课程,先对数据结构有个大致的了解,顺道复习(重新学习)一下C++语言

目前已经看到第10课了,先对前9节课做一个简要的回顾:

很好,其实我没记住什么,老师的英文讲得飞快,只记住了大概的结构:

1、初步介绍了C++和类库,终于明白了#include<> 和using namespace std的意思了,std,很伟大的标准库。stl:标准模板库

2、介绍了一些很基本的函数,比如操作字符串的一系列函数,不过因为训练的不够,很多只是耳闻,而没有一试。

3、介绍了C++和Java的区别,其实区别还是很多的,比如类里的函数调用的方式,C++是类::函数,Java是类.函数,以前看::总是觉得很神秘的样子,还有两者内存管理方式的区别,只是隐约地知道Java有个叫垃圾回收器的东西,而C++是要通过调用析构函数??这些东西要进一步学习才知道。嗯,还有模板和泛型。

4、我觉得是进入正题了,第5课起吧,介绍了一些存储数据的结构,以前不觉得,现在才逐渐意识到,计算机不就是存储和处理数据的工具么,数据结构的设计是最根本的内容,其他都是由此衍生。语言也不过是用来建立数据结构的方式罢了。以后的程序设计,软件设计,操作系统也都是架构来处理数据的,嗯,和土木一样,结构体系的确立是最重要的。

5、介绍了两类容器,Sequential containers和Associative containers,前者有vector,grid,stack,queue,后者有map,set,听她介绍完,觉得这几种容器都非常神奇,看似简单实际上能完成很多很酷的功能,比如stack栈,后进先出,嗯,原来就是撤销,重复的原理啊,又如map,通过key和value,好像可以做字典了。

特别是听完后看了一些以前收藏的文字,这才有所体会。

http://blog.csdn.net/zhongguoren666/article/details/7403922

6、容器介绍完了,大约从第8课起,就开始介绍递归,讲了很多的递归的例子,比如汉诺塔,二分法搜索之类,递归感觉就和数学归纳法似的,听着听着,我又想起了以前的一篇文章:

http://blog.sina.com.cn/s/blog_62b1508e0100hcyx.html

7、目前为止笔记就是如此了

你可能感兴趣的:(数据结构与算法,抽象编程,数据结构与算法,C++)