lecture 3

1. ADO(Abstract Data Object): 不向用户展示具体的实现,更好的提供灵活性

2. 用stack实现括号配对,检查所有括号是不是成对出现的

找到左括号加入stack中,找到右括号之后判断stack是否为空,为空则直接返回false,不为空则对stack进行pop,直到EOF(end of file)

3. gcc用于compile

4. 在写伪代码中,stack的增添及拿出用pop和push,queue的用enqueue以及dequeue

5. primitive operations基本操作执行次数,有判断语句时,要先判断是否符合条件,载继续执行别的语句,计算的时候两个都要算上

6. 程序运行时间

 

7. 时间复杂度

若存在函数 f(n),使得当n趋近于无穷大时,T(n)/ f(n)的极限值为不等于零的常数,则称 f(n)是T(n)的同数量级函数。

记作 T(n)= O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度(老师上课的意思就是针对第一个曲线总可以自定义另一个曲线,然后从某一点开始让第一个曲线总是大于第一个曲线,但是如果第一个曲线中有n^2,自定义的曲线为n,则无论如何增加n的系数,n^2的生长系数都更大。另外之前程序运行举的例子是为了表达长久来看决定程序运行时间的是指数更大的,如n^2+n 的增长呈二次函数)

简单来讲,即把时间函数T(n)简化成一个数量级,规则如下:

  1. 如果运行时间是常数量级,用常数1表示;

  2. 只保留时间函数中的最高阶项;

  3. 如果最高阶项存在,则省去最高阶项前面的系数。

猜你喜欢

转载自www.cnblogs.com/eleni/p/11614855.html