一.栈与队列
1.栈结构
修改原则:FILO先进后出
栈结构
2.队列的结构
修改原则:FIFO
(线性结构中的特殊结构),
队列结构
//逻辑结构:线性结构,集合结构,树形结构,图形结构
//物理结构:顺序存储结构,链式存储结构
二.栈的基本实现:
实现方法1:顺序结构实现
实现方法2:链式结构实现
(c语言中 目标是变量用点语法,如果是指针用->)
2.栈和递归
递归(直接或间接调用自己)
使用递归的原因:简洁,可能影响性能
使用递归的三个情况:
1.定义是递归的:数学定义(阶乘/斐波拉契数列)
2.数据结构是递归的:(链表)
3.问题是递归的:
分治法:
1.大问题拆成小问题,解决方法非常相似
2.简化问题
3.需要有递归出口,递归边界
递归工作栈:
栈空间
执行函数前:(系统操作的事情)
1.传递 返回地址 和 参数
2.局部变量分配空间
3.控制交给被调用函数
4.返回时,保存结果返回,主动释放局部变量,控制权返回
非要用栈的时候:图层,navagationController
二.队列
问题:假溢出
网友评论