{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Stacks Overview\n", "\n", "**Please see the lecture video for the full Overview on Stacks!**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "____\n", "\n", "A stack is an ordered collection of items where the addition of new items and the removal of existing items always takes place at the same end. This end is commonly referred to as the “top.” The end opposite the top is known as the “base.” \n", "\n", "The base of the stack is significant since items stored in the stack that are closer to the base represent those that have been in the stack the longest. The most recently added item is the one that is in position to be removed first. \n", "\n", "**This ordering principle is sometimes called LIFO, last-in first-out.** It provides an ordering based on length of time in the collection. Newer items are near the top, while older items are near the base.\n", "\n", "For example, consider the figure below:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import Image\n", "url ='https://upload.wikimedia.org/wikipedia/commons/b/b4/Lifo_stack.png'\n", "\n", "Image(url)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note how the first items \"pushed\" to the stack begin at the base, and as items are \"popped\" out. Stacks are fundamentally important, as they can be used to reverse the order of items. The order of insertion is the reverse of the order of removal.\n", "\n", "Considering this reversal property, you can perhaps think of examples of stacks that occur as you use your computer. For example, every web browser has a Back button. As you navigate from web page to web page, those pages are placed on a stack (actually it is the URLs that are going on the stack). The current page that you are viewing is on the top and the first page you looked at is at the base. If you click on the Back button, you begin to move in reverse order through the pages.\n", "\n", "In the next lecture we will implement our own Stack class!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Extra Resources:\n", "[Wikipedia Page on Stacks](http://bit.ly/1OJybGQ)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 0 }