2012年苏州大学872真题整理

一.数据结构

1、(15分)简答题。

(1)假定用两个栈模拟一个队列,如何实现入队、出队和判队空操作;
思想:栈A和栈B一开始均为空栈,为了实现先进先出(FIFO)可以利用栈的特性(FILO)来还原入队时的先后顺序,具体实现如下:
判空:A与B栈中都没有元素,则队列为空
入队:若B中有元素,则奖B中的元素依次出栈,放入A中;随后将要入队的元素放入A中
出队:若A中有元素,则将A中的元素依次出栈,放入B中;随后B栈顶的元素即为队头元素
实际上,A与B栈同时间至少有一个栈为空,且B的用途实际上是将栈A的元素逆序倒置,已实现FIFO。栈A顶部的元素对应队尾,栈B顶部的元素对应队头。

(2)写出使用Floyd算法求各顶点之间最短路径的思想,并写出其时间复杂度;
思想:递推产生一个 n n n阶方阵序列

你可能感兴趣的:(算法,图论)