私はCSのコースを取っていますが、率直に言って抽象データ型代数に関して講師が何を話しているのか分かりません。これは私が Web 上ですぐに解決策を見つけることができたものではなく、コミュニティの誰かが問題についてより深い洞察や理解を持っているのではないかと思いました。
スタック:
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
表記は確かに少し奇妙です...上記は実際にはどういう意味ですか〜キューとスタックの一般的な動作を先入れ先出しと先入れ後出しとして理解しています。