我正在上 CS 课程,但坦率地说,我不知道讲师在谈论抽象数据类型代数方面的内容。这不是我很容易在网络上找到解决方案的东西,我想也许社区中的某个人会对这个问题有更深入的了解或不了解。
堆:
isempty(createstack()) = true
isempty(push(n, s)) = false
top(push(n, s)) = n
pop(push(n, s)) = s
队列:
isempty(createqueue()) = true
isempty(add(n, q)) = false
front(add(n, q)) = n, if q is empty
front(add(n, q)) = front(q), if q is not empty removefront(add(n, q)) = q,
if q is empty removefront(add(n, q)) = add(n, removefront(q)),
if q is not empty
符号肯定有点奇怪......上面的实际含义是什么〜我理解队列和堆栈的一般行为是先进先出与先进后出。