20182333 2019-2020-1 《数据结构与面向对象程序设计》第七周学习总结
20182333 2019-2020-1 《数据结构与面向对象程序设计》第七周学习总结 教材学习内容总结 第十二章 算法分析 1.算法效率(决定着一个程序执行的速度) 2.增长函数与大O符号。增长函数表明问题大小(n)与希望优化的值之间的关系。该函数表示时间复杂度或空间复杂度。渐进复杂度称为算法的阶。记为O(n) 第十四章 栈 1.集合分为两大类:①线性集合:按照顺序一个一个排。②非线性集合:存在顺序并列的情况。 2.栈是一种线性集合,元素按后进先出(LIFO)的方法进行处理,有push,pop,peek,isempty,size等常用操作 3.栈是用于计算后缀表达式的理想数据结构,在进行运算时,先把中缀表达式转为后缀表达式,然后从左到右扫描,数字入栈,遇见符号,把前两个数字进行相应的运算然后放入栈中(减法是第二个数减去栈顶的数)。 4.链式结构是基于数组的集合实现的主要代替方案,链表是一种链式结构,自引用式构成了链表的基础,在链表中存储的对象通常泛称为结点node 5.链表会按需动态增长,因此本质上,它没有容量限制 6.使用链表实现的栈和使用数组实现的栈一样,都需要写出相应的push、pop等方法。 第十五章 队列 1.队列是一种线性集合,元素从一段加入从另一端删除(先进先出)。 2.队尾(tail),队首(head),队列前端(front),队列末端(rear)。 3