文档详情

第3章 栈和队列.ppt

发布:2025-04-26约2.06万字共85页下载文档
文本预览下载声明

**********这是一个递归的过程,因此,用栈来保存调用的返回信息是恰当的。设递归工作栈************************求表长、插入、取元素时间复杂度:O(1)For循环次数LB_len,LocateElem(La,e,equal)是O(ListLenth(LA))**求表长、插入、取元素时间复杂度:O(1)For循环次数LB_len,LocateElem(La,e,equal)是O(ListLenth(LA))**求表长、插入、取元素时间复杂度:O(1)For循环次数LB_len,LocateElem(La,e,equal)是O(ListLenth(LA))**求表长、插入、取元素时间复杂度:O(1)For循环次数LB_len,LocateElem(La,e,equal)是O(ListLenth(LA))**实际上,各个栈的大小都是动态变化的,往往有这样的情况:即其中某个栈发生上溢,而其余的栈尚有很多空间。此时,我们可以设法调整空间,减少“上溢”的发生。************问题:由此改进程序,任意进制转换?****这里重点介绍中缀表达式、后缀表达式求值**这里重点介绍中缀表达式、后缀表达式求值*******************************4.梵塔问题执行情况main(){intm;printf(Inputnumberofdisks);scanf(%d,m);printf(Steps:%3ddisks,m);hanoi(m,A,B,C);(0)}voidhanoi(intn,charx,chary,charz)(1){(2)if(n==1)(3)move(1,x,z);(4)else{(5)hanoi(n-1,x,z,y);(6)move(n,x,z);(7)hanoi(n-1,y,x,z);(8)}(9)}ABC3ABC02BAC83ABC02BAC81BCA6ABC3ABC02BAC83ABC0*4.梵塔问题执行情况main(){intm;printf(Inputnumberofdisks);scanf(%d,m);printf(Steps:%3ddisks,m);hanoi(m,A,B,C);(0)}voidhanoi(intn,charx,chary,charz)(1){(2)if(n==1)(3)move(1,x,z);(4)else{(5)hanoi(n-1,x,z,y);(6)move(n,x,z);(7)hanoi(n-1,y,x,z);(8)}(9)}ABC3ABC02BAC81ABC8ABC3ABC02BAC83ABC0栈空*/栈和队列队列队列是限定只能在表的一端进行插入,在表的另一端进行删除的线性表队尾(rear)——允许插入的一端队头(front)——允许删除的一端特点先进先出(FIFO)a1a2a3…….an入队出队frontrear*/栈和队列

显示全部
相似文档