Suppose that we have a data structure called reversing stack. This data structure supports only one operation called REVERSING-PUSH. In each REVERSING-PUSH, an object is first pushed onto the stack, and then we check if the number of items in the stack is a power of 2. If it is not, we terminate the REVERSING-PUSH. If it is, then we reverse the content of the stack, that is, we swap the object on the top of the stack with the object on the bottom, the second topmost object with the second bottommost object, and so on. For example, if we use REVERSING-PUSH to push objects 1, 2, 3, 4, 5, 6, 7, 8, 9 onto the stack, the stack contents, when listed from bottom to top, after each operation are (1), (2, 1), (2, 1, 3), (4, 3, 1, 2), (4, 3, 1, 2, 5), (4, 3, 1, 2, 5, 6), (4, 3, 1, 2, 5, 6, 7), (8, 7, 6, 5, 2, 1, 3, 4), (8, 7, 6, 5, 2, 1, 3, 4, 9) Use all the three methods for amortized analysis taught in class (aggregate, ac- counting and potential) to show that REVERSE-PUSH runs in O(1) amortized time. In your analysis, you can assume that the cost of reversing the content of the stack is equal to the number of objects currently in the stack (think about why this is a valid assumption).

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Time to preview question:
00:08:29
Suppose that we have a data structure called reversing stack. This data
structure supports only one operation called REVERSING-PUSH. In each REVERSING-PUSH,
an object is first pushed onto the stack, and then we check if the number of items in
the stack is a power of 2. If it is not, we terminate the REVERSING-PUSH. If it is,
then we reverse the content of the stack, that is, we swap the object on the top of
the stack with the object on the bottom, the second topmost object with the second
bottommost object, and so on. For example, if we use REVERSING-PUSH to push objects
1, 2, 3, 4, 5, 6, 7, 8, 9 onto the stack, the stack contents, when listed from bottom to top,
after each operation are

(1), (2, 1), (2, 1, 3), (4, 3, 1, 2), (4, 3, 1, 2, 5), (4, 3, 1, 2, 5, 6),
(4, 3, 1, 2, 5, 6, 7), (8, 7, 6, 5, 2, 1, 3, 4), (8, 7, 6, 5, 2, 1, 3, 4, 9)

Use all the three methods for amortized analysis taught in class (aggregate, ac-
counting and potential) to show that REVERSE-PUSH runs in O(1) amortized time. In
your analysis, you can assume that the cost of reversing the content of the stack is
equal to the number of objects currently in the stack (think about why this is a valid
assumption).
Hint: It may be helpful to think of the largest power of 2 that is less than or equal to
n

Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Stack
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education