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

来源:互联网 发布:云南网络党建 编辑:程序博客网 时间:2024/06/04 00:37

看到16课


第10课继续之前的内容,探讨递归,其中递归回溯值得注意

12-13讲到了C++的指针,引入了新的数据结构list链表


有必要比较一下几种常用的容器

vector 一个基于动态数组的类模板,使用连续的内存空间,只能在尾部快速插入和删除

(动态数组 

C++ http://www.cnblogs.com/lxshanye/archive/2013/05/20/3088558.html

C# http://blog.csdn.net/zhang_xinxiu/article/details/8657431  数组、arraylist、list  装箱(值类型变成引用类型)引用类型

deque 提供的绝大多数操作和vector一样,但是并不使用连续的内存空间,可以再开始和尾部快速插入和删除

list 使用一个链表存储列表元素,可以在任何位置快速插入和删除


容器:序列式容器和关联式容器

关联式:set map等

set的底层就是 红黑树,可以提高查找的效率


14-16课讲得是排序算法,四种排序算法,选择排序、插入排序、归并排序、快速排序


1、语言(面向过程与面向对象)+软工知识

2、数据结构和算法,更具体的便是C++的STL,理解计算机系统,知道底层是怎么运作的,直到理解硬件

3、图形学、网络


c++ inline内联函数 为了解决函数调用中效率问题


c++ 虚函数 虚类 纯虚类

c#  虚函数 抽象函数

当实例方法声明包含abstract修饰符时,该方法为抽象方法,抽象方法引入一个新的虚拟方法,但不提供该方法的实现

 抽象类(is_a) 接口(like_a,抽象类的抽象类,实现多重继承)  http://blog.sina.com.cn/s/blog_82dde7b6010149cu.html


拓展:关于callback    http://blog.sunchangming.com/post/77175634170


《STL源码剖析》

STL的组件:
容器(vector、map、set等)、算法(sort、search、copy等)、迭代器(iterator)、仿函数、适配器、配置器


0 0
原创粉丝点击