{ "cells": [ { "cell_type": "markdown", "id": "disabled-withdrawal", "metadata": { "tags": [] }, "source": [ "##### Algorithms and Data Structures (Winter - Spring 2022)\n", "\n", "* [Table of Contents](ADS_TOC.ipynb)\n", "* \"Open\n", "* [![nbviewer](https://raw.githubusercontent.com/jupyter/design/master/logos/Badges/nbviewer_badge.svg)](https://nbviewer.org/github/4dsolutions/elite_school/blob/master/ADS_intro_1.ipynb)" ] }, { "cell_type": "markdown", "id": "1a88a468-f08f-4e27-a685-1c0b7f66a67d", "metadata": {}, "source": [ "# Introduction\n", "\n", "A course in Algorithms and Data Structures does well to begin with some overview of scope. What might we cover? The short answer is: everything. \n", "\n", "Data structures include the periodic table, recipe books, tabular data, entire libraries, not just arrays, queues, stacks and heaps, trees and networks (graphs). \n", "\n", "We may analyze some in terms of the others. A pandas DataFrame is made from the pandas Series, in turn built atop the numpy array, which imitates native Python array concepts. \n", "\n", "Yes, the Python ecosystem is featured herein, with encouragment to use one's knowledge of Python as a stepping stone to other languages e.g. Julia, Javascript, Java and C/C++ (not a complete list -- I mention J in class a lot, and even Hoon, as uber-exotic yet super cool).\n", "\n", "Algorithms accompany all these data structures (graphs, linked lists, stacks and heaps), lending them their dynamism and their ultimate utility. How do we store and retrieve, update and delete? How do we [sort](ADS_sandbox_7.ipynb), when the elements have greater than and lesser than relationships? What mathematical operations might we perform? \n", "\n", "The idea of \"math objects\" obtains from the idea of core concepts having the attributes of both nouns and verbs, substance and action, a status quo (current state) and \"change ability\" (transformability). Those hoping to stamp out OOP will of course be unhappy with its further incursion, but not on some either/or basis.\n", "\n", "If our structures represent geometric objects, we might want to rescale them, spin them, distort them, measure them, alter their properties. Think of [Blender](https://blender.org), another prominent player within the Python ecosystem.\n", "\n", "Perhaps we're looking for routes on a map, involving minimum effort i.e. the [least weighty path](ADS_sandbox_6.ipynb) through a directed network, or the lightest spanning tree.\n", "\n", "In this implementation of Algorithms and Data Structures (ADS), we do not shy away from the data structures associated with \"array based computing\" meaning, in this case, we consider the namespaces of both numpy and pandas. \n", "\n", "The idea here is to equip a 21st century high schooler with the electronic desktop publishing skills needed to produce professional quality tables and plots. The ability to produce Jupyter Notebooks in shared repositories is useful in many walks of life.\n", "\n", "On the other hand, at the middle and high school level, *Algorithms and Data Structures* is [likely to draw heavily from CP](https://www.geeksforgeeks.org/5-best-books-for-competitive-programming/) (\"competitive programming\"). We go there too. The world of CP has evolved into a succinct summary of many computer science topics. Whether a student is committed to a CP lifestyle or not, much value derives from working out, now and then, as if one were." ] }, { "cell_type": "markdown", "id": "central-obligation", "metadata": { "tags": [] }, "source": [ "# Algorithms\n", "\n", "The contemporary term \"algorithm\" derives from the proper name of a Persian polymath on faculty with the House of Wisdom in Baghdad over a thousand years ago. Iraq had not yet been invented as a country back then.\n", " \n", "His name in Persian was: محمد بن موسی خوارزمی, which gets Latinized as Muḥammad ibn Mūsā al-Khwārizmī (c. 780 – c. 850), or Al Khwarizmi for short, which sounds a little bit like \"Al Gorithm\" (but not a lot). \"Algorithm\" sounds a lot more like \"Al Gore\" (a joke, why? See note [1] below).\n", "\n", "Note to teachers: I recommend using this statue as a kind of \"home base\" for your version of *Algorithms and Data Structures*, presuming you have forked or are cloning this repo.\n", "\n", "\"Khwarizmi_Amirkabir_University_of_Technology\"" ] }, { "cell_type": "markdown", "id": "third-heading", "metadata": { "tags": [] }, "source": [ "But *what is* an \"algorithm\" anyway?\n", "\n", "An algorithm is a step-by-step recipe, not necessarily numerical. It's very closely related to the mathematical idea of \"a function\" i.e. a procedure for taking in a set of inputs, doing \"the same thing\" every time (i.e. doing the algorithm) and thereby generating the corresponding outputs.\n", "\n", "When you follow a recipe for baking a cake, you start with certain ingredients, measuring cups, other containers (data structures), an oven for adding heat over time (called \"baking\"), and you end up, one hopes, with a cake.\n", "\n", "In computing, we aim for deterministic outcomes, meaning the exact same ingredients will produce the exact same cake every time, \"as if a robot were doing it\". Humans have been knowned to aim for this same kind of perfection.\n", "\n", "Allen Downey extracts one connotation of \"algorithm\" which is: \"followed mindlessly by a machine\". \n", "\n", "This connotation of \"mindlessness\" follows from \"deterministic\" in the sense of their being no room for alternative interpretations, leading to different outcomes. \n", "\n", "At the level of computer languages, such precise specifications are finally meetable. We are able to recreate our results with great or perfect accuracy, when beginning from the same inputs.\n", "\n", "[Quoting from Think Python](https://greenteapress.com/thinkpython2/html/thinkpython2008.html#sec87), by Allen Downey:\n", "\n", "
\n", " One of the characteristics of algorithms is that they do not require any intelligence to carry out. They are mechanical processes where each step follows from the last according to a simple set of rules.
\n", " \n", " \n", "Executing algorithms is boring, but designing them is interesting, intellectually challenging, and a central part of computer science.
\n", "\n", "Some of the things that people do naturally, without difficulty or conscious thought, are the hardest to express algorithmically. Understanding natural language is a good example. We all do it, but so far no one has been able to explain how we do it, at least not in the form of an algorithm.\n", "
\n", "\n", "Clearly cooking is more creative and may involve making snap judgements. We might use the cooking metaphor more in connection with what, in machine learning, we call \"hyperparameters\". These algorithms come with \"settings\" or \"knobs\" and need to be fine tuned. \n", "\n", "You might think of algorithms as \"what we fall back on\" and \"do by rote\". You might also think of them as evolving. Even if the primitive algorithms do not change, how they're combined may well be.\n", "\n", "An athlete has a playbook of maneuvers known \"by heart\" but may also always be learning new ones. Algorithms and Data Structures offers similar opportunities: to both learn by rote, and to grow. \n", "\n", "What we mean by \"mindlessly\" need not mean \"recklessly\" or \"carelessly\" (although it could, depending on circumstances). Think about how you would, and already do, use all these words in real life. How you think and talk about algorithms and data structures is probably evolving too." ] }, { "cell_type": "markdown", "id": "accomplished-holly", "metadata": { "tags": [] }, "source": [ "### Algorithms in Science Fiction\n", "\n", "What is science fiction in one era, may become science fact in another. Take the idea of a chess-playing automaton. An automaton is a machine that appears to have agency, to act on its own, in response to stimuli, much as we humans do. \n", "\n", "If a machine is so life-like we cannot tell it from a human being, at least from its conversation, we might say it \"passes the Turing Test\". \n", "\n", "Suppose we discover we've been fooled. What we considered our mental peer is suddenly reduced to a machine in our eyes. This change in perspective may be an experienced as \"uncanny\", as in \"weird\" and/or \"unsettling\". \n", "\n", "Much science fiction (e.g. the movie *Artificial Intelligence* directed by Steven Speilberg) explores this \"uncanny valley\" dividing robot from not robot. What if we cannot really tell, if X is a robot or a human? The Swedish science fiction series *Real Humans* likewise explores uncanny valley quite a bit.\n", "\n", "Alan Turing helped establish contemporary computer science, and like many before and since, speculated as to the possibility of \"mechanized\" human intelligence. Speculators along these lines have created the field of Artificial Intelligence (AI). \n", "\n", "#### The Turk\n", "\n", "\n", "The first apparent chess-playing automaton was named [The Turk](https://interestingengineering.com/the-turk-fake-automaton-chess-player), and was actually a \"magic act\" in the sense of involving deception. \n", "\n", "![The Turk](https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/The_Turk.jpg/640px-The_Turk.jpg)\n", "
[The Turk](https://commons.wikimedia.org/wiki/File:The_Turk.jpg) - Mechanical Turk or Automaton Chess Player (German: Schachtürke), exposed in Heinz Nixdorf MuseumsForum, Paderborn, Germany.\n", "\n", "Spectators believed they were looking at an automaton, whereas in fact a midget inside, tucked in among the gearworks, actually played the game in real time, in very cramped circumstances. Such a midget once beat Napoleon, whom we imagine was taken in by the hoax. \n", "\n", "Today, however, game playing automatons are science fact, from [IBM's Deep Blue](https://www.ibm.com/ibm/history/ibm100/us/en/icons/deepblue/) and [Watson](https://www.ibm.com/watson) to [Google's AlphaGo](https://www.deepmind.com/research/highlighted-research/alphago). Nor need these be expensive esoteric computers. Chess playing software is by now ubiquitous.\n", "\n", "An automaton (robot) by Hanson Robotics, dubbed Sophia, stars in [short amusing skits](https://youtu.be/Ml9v3wHLuWI) and emulates facial expressions convincingly enough to appear human. Sophia demonstrates what we imagine real Artificial Intelligence might be like i.e. a seemingly human intelligence powered by mindlessly executing algorithms. \n", "\n", "Short of that so far unattainable goal, algorithms have gotten a lot better at speech recognition, and indeed pattern recognition of all sorts. These dramatic improvements have come as a consequence of breakthroughs in the area of Machine Learning (ML).\n", "\n", "A few of the very many science fiction movies featuring AI:\n", "\n", "* [A.I. Artificial Intelligence](https://www.imdb.com/title/tt0212720/?ref_=fn_al_tt_4): the Spielberg version of a production started by Stanley Kubrick.\n", "* [Her](https://www.imdb.com/title/tt1798709/?ref_=fn_al_tt_1): a man falls in love with an operating system, which then evolves beyond his control\n", "* [C.O.D.E Guardian](https://www.youtube.com/watch?v=PQ-UP2zieSI): a World War 2 movie homage featuring life-like giant military robots (CG)\n", "* [Logan's Run](https://www.imdb.com/title/tt0074812/?ref_=fn_tt_tt_1): a futuristic city in which no one lives beyond age thirty, is policed by an AI computer\n", "* [Ex Machina](https://www.imdb.com/title/tt0470752/?ref_=fn_al_tt_1): a billionaire inventor genius creates life-like robots who plot to escape their prison" ] }, { "cell_type": "markdown", "id": "888e0b48-ddf6-435b-91b9-56602e19ba39", "metadata": { "tags": [] }, "source": [ "### The Origins of Arithmetic Algorithms\n", "\n", "The idea of \"numerical recipes\" is at the basis of arithmetic and is what we learn in school as addition, subtraction, multiplication and division. When school teachers talk about elementary school math, they talk about teaching algorithms, such as how to perform long division, or how to find a square root.\n", "\n", "Speaking of square roots and how to find them, another word attributed to Al Khwarizmi is \"surd\". The surd, also called the radical sign, is the $\\sqrt{}$ symbol." ] }, { "cell_type": "code", "execution_count": 1, "id": "6fe7c7d2-d4e7-489f-9213-5a685a6e5220", "metadata": {}, "outputs": [], "source": [ "rt2 = lambda x: pow(x, 1/2)\n", "rt3 = lambda x: pow(x, 1/3)\n", "rt5 = lambda x: pow(x, 1/5)" ] }, { "cell_type": "code", "execution_count": 2, "id": "dece80c6-1225-4719-be56-2111b4b242ac", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.4142135623730951" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rt2(2)" ] }, { "cell_type": "code", "execution_count": 3, "id": "71b9c436-bb82-412f-90a0-6e763e5b337d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.618033988749895" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "phi = (1 + rt2(5))/2\n", "phi" ] }, { "cell_type": "code", "execution_count": 4, "id": "413d175e-9488-4974-a7d6-998f06e83ffa", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "123.00000000000003" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rt5(123**5)" ] }, { "cell_type": "code", "execution_count": 5, "id": "9fc69853-a8a8-434c-8cfa-259d7b064087", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.0" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rt3(8)" ] }, { "cell_type": "markdown", "id": "2200099b-15dc-442e-8bdc-44e17d03caa3", "metadata": { "tags": [] }, "source": [ "This idea of \"numerical recipes\" spread to the Italian peninsula and to the rest of Europe, through the Republic of Pisa, where the famous Leonardo Fibonacci (c. 1170 - c. 1250) wrote *Liber Abaci*, based on Al Khwarizmi's work, which he had been exposed to in North Africa. \n", "\n", "Here's how storyteller Buckminster Fuller tells the tale in his [Synergetics 2](https://archive.org/details/synergetics2expl00full/page/n35/mode/2up?q=carthage) (1979):\n", "\n", "
\n", "When the archaeologists' artifact-proven history of mathematics opens 4,000 years ago in Babylon and Mesopotamia, it is already a very sophisticated science. Mathematics may well have had its beginnings much earlier in India or Indochina, as it is an art and science that has traveled consistently westward. Over 3,000 years ago the Greeks made further magnificent contributions to geometry, algebra, and calculation. Then about 2,000 years ago the Roman Empire all but obliterated mathematics. A little more than 1,000 years ago Arabs and Hindus traveling through North Africa began to restore some of the ancient mathematics to the westward-evolving culture. When al-Khwarizmi's original a.d. 800 treatise on algebra was republished in Latin in Carthage in 1200, it required a further 200 years for his elucidation of the function of zero — the cipher — to be diffused into the university systems of Europe.
\n", "\n", "If you learned to use Arabic numerals, [Fibonacci of Pisa](https://mathshistory.st-andrews.ac.uk/Biographies/Fibonacci/) told his readers, you could get free of relatively clunky Roman numbers and the abacus. You could learn to compute on paper or on a chalkboard.\n", "\n", "You might be thinking \"if algorithm means step-by-step number crunching then isn't any computer program an algorithm?\" \n", "\n", "That's pretty close to how people use the word nowadays. People talk about the \"recommendation algorithm\" used by online merchants to suggest other related products you might want to borrow or buy. Many algorithms are \"semi-numerical\" meaning they involve more than just number crunching.\n", "\n", "Think of the globe as a data structure, storing information about the world, and of a projection from that globe, to a flat surface, as an algorithm. \n", "\n", "We need data types and algorithms that mirror our practices around [spatial and temporal information](ADS_project_2.ipynb), in order to create data visualizations such as Google Earth.\n", "\n", "\"Spaceship\n", "\n", "*screenshot of MSG Sphere website, April 2022*" ] }, { "cell_type": "code", "execution_count": 6, "id": "animated-crime", "metadata": {}, "outputs": [], "source": [ "from IPython.display import YouTubeVideo" ] }, { "cell_type": "code", "execution_count": 7, "id": "terminal-album", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "YouTubeVideo(\"oRkNaF0QvnI\")" ] }, { "cell_type": "code", "execution_count": 8, "id": "laughing-finder", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUDBAkJCAkICAkICAkICAkJCQgJCQgICAgICAgICAgICAgIChAOCAgPCQgIDiEOEB0RHx8fCA4iJCIeJBAeExIBBQUFCAcIDwkJDxINEA0SEhISEhUVEhISFRUSEhISEhUVFRUSEhUSEhISFRUSEhYVFRIVFRUVFRUVFRUVEhUVFf/AABEIAWgB4AMBIgACEQEDEQH/xAAdAAABBAMBAQAAAAAAAAAAAAAABAUGBwIDCAEJ/8QAYhAAAQMCAwQDCQcMDQgKAwEAAgEDBAASBREiBhMhMgcxQhQjQVFSYWJygghxgZKTovAVJDNDU1SRobLC0dQJFxg2c3R1lLGzwdLTNDVjg7S14eIWJURVZIWjxPHyJoTDpP/EABwBAQABBQEBAAAAAAAAAAAAAAACAQMFBgcECP/EAD8RAAIBAwEDCQcCBQMDBQAAAAABAgMEESEFEjEGExRBUWFxgZEiMlKhscHRFUIzYnLh8BYjU4Ky8QclNDVD/9oADAMBAAIRAxEAPwDjKiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCip+nRTiH3WF8o9/gV490WTh63YXvC48S/D3nKq4BAaKnK9GM77rE+O9/g1gXRvM+6xPjvf4VUBCaKmqdHEz7rE+O9/hVknRnM+6xPjvf4NVwCEUVOV6Mpv3WJ8d7/ArNjounGVouRPjvf4NUBA6KsT9qLEPu8D5SR+r0J0SYh93hfKSP1eq4BXdFWUnQ1iXVvoHH/SSP1etLnRJiA/b4HD/AEkj9XqgK7oqw06JMQ+6wvlH/wDArEuief8AdoXyj/8Ag0BX1FT1eiud91hfKPf4NYr0WzvusL5R7/BoCCUVOv2sJ33WH8d//BpQnRLiH3WF8o//AIFAV7RVh/tSYh1b+B8p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\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "YouTubeVideo(\"ZnBF2GeAKbo\")" ] }, { "cell_type": "markdown", "id": "extended-correlation", "metadata": {}, "source": [ "### Rule-Generated Sequences\n", "\n", "#### Fibonacci Numbers\n", "\n", "You may have heard of this famous sequence of numbers, named for Fibonacci. Below is some Python code for generating the first ten terms in the sequence, starting from 0.\n", "\n", "Don't worry if you're not yet familiar with the idea of a \"generator function\" in Python, which uses the ```yield``` keyword instead of ```return```. We will be introducing features of the Python language as we go.\n", "\n", "You could call this short program \"an algorithm for generating the Fibonacci numbers\". See Note [2] below." ] }, { "cell_type": "code", "execution_count": 9, "id": "presidential-prediction", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]\n" ] } ], "source": [ "# Fibonacci Numbers\n", "# https://oeis.org/A000045\n", "\n", "def fibo(a=0, b=1):\n", " while True:\n", " yield a\n", " b, a = a + b, b\n", " \n", "gen = fibo()\n", "fibs = [next(gen) for _ in range(10)]\n", "print(fibs)" ] }, { "cell_type": "markdown", "id": "5a342dad-6e68-4ea1-8ee0-7d9e15a65d03", "metadata": {}, "source": [ "From the above, we might return the nth Fibonacci number as follows:" ] }, { "cell_type": "code", "execution_count": 10, "id": "6295f492-523f-42c4-86a4-c04e39ce5ba1", "metadata": {}, "outputs": [], "source": [ "def fibonacci(nth):\n", " gen = fibo()\n", " return [next(gen) for _ in range(nth+1)][-1]" ] }, { "cell_type": "code", "execution_count": 11, "id": "724e84bf-b571-4ce0-9b57-0b66d6d8e001", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fibonacci(6)" ] }, { "cell_type": "markdown", "id": "02e557ca-8e17-4365-a446-7548a20c9cd6", "metadata": {}, "source": [ "That's using a Python generator, which is interesting, but how about using recursion? Since Fib(N) = Fib(N-1) + Fib(N-2), why not call the Fib function from inside itself?" ] }, { "cell_type": "code", "execution_count": 12, "id": "e068a6c5-6e75-4c0e-bb02-4571d6eafe16", "metadata": {}, "outputs": [], "source": [ "def Fib(nth):\n", " if nth == 0:\n", " return 0\n", " if nth == 1:\n", " return 1\n", " return Fib(nth-1) + Fib(nth-2)" ] }, { "cell_type": "code", "execution_count": 13, "id": "974aedf3-324b-476c-9c9f-5d42d0eea1c8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Fib(6)" ] }, { "cell_type": "code", "execution_count": 14, "id": "c0c4be51-94c3-46a3-871b-8c79e906cf64", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3.39 µs ± 1.12 µs per loop (mean ± std. dev. of 7 runs, 100,000 loops each)\n" ] } ], "source": [ "%timeit fibonacci(10)" ] }, { "cell_type": "code", "execution_count": 15, "id": "c1451c27-b51b-4679-ae33-d4f39d1c7b57", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "349 µs ± 42.8 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n" ] } ], "source": [ "%timeit Fib(15)" ] }, { "cell_type": "markdown", "id": "efde683b-22be-4891-9281-8754a90009d0", "metadata": {}, "source": [ "Fib is very inefficient because recursion redundantly calls for the same computation multiple times. A solution: memoization. Memoization prevents unnecessary recomputations of the same answer." ] }, { "cell_type": "code", "execution_count": 16, "id": "d0e7034a-85b9-47f1-b2fc-efb2de9b257f", "metadata": {}, "outputs": [], "source": [ "fibs = {}\n", "\n", "def Fib(nth, fibs):\n", " if nth in fibs:\n", " r = fibs[nth]\n", " elif nth == 0:\n", " r = 0\n", " elif nth == 1:\n", " r = 1\n", " else:\n", " r = Fib(nth-1, fibs) + Fib(nth-2, fibs)\n", " fibs[nth] = r\n", " return r" ] }, { "cell_type": "code", "execution_count": 17, "id": "709d1ca7-1fad-407b-9fcb-441d89279aa7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Fib(5, {0:1, 1:1})" ] }, { "cell_type": "code", "execution_count": 18, "id": "4a9f3846-2664-4425-97b8-be8692df1804", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "7.75 µs ± 1.51 µs per loop (mean ± std. dev. of 7 runs, 100,000 loops each)\n" ] } ], "source": [ "%timeit Fib(15, {0:1, 1:1}) # much faster with memoization" ] }, { "cell_type": "code", "execution_count": 19, "id": "3695de1b-9578-4733-a0c3-1fec5ce3b2b9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "573147844013817084101" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Fib(100, {0:1, 1:1})" ] }, { "cell_type": "markdown", "id": "f1382f09-a12b-4c63-981c-9e92291f3c3f", "metadata": {}, "source": [ "Links:\n", "\n", "* [Fibonacci Numbers in multiple languages and algorithms](https://the-algorithms.com/algorithm/fibonacci-numbers)\n", "* [Fibonacci Numbers at OEIS](https://oeis.org/A000045)\n", "* [Recursion](https://youtu.be/IJDJ0kBx2LM) (Youtube: freecodecamp.org)\n", "* [Dynamic Programming](https://youtu.be/oBt53YbR9Kk) (Youtube: freecodecamp.org)" ] }, { "cell_type": "markdown", "id": "alternative-professor", "metadata": {}, "source": [ "# Data Structures & Structured Data\n", "\n", "When you cook, following a recipe, you need ways to store your ingredients, as well as places to mix them. Containers of various types come to mind: liquid measuring spoons, sized cups, bags and jars. We also need cutting boards and other work surfaces.\n", "\n", "Algorithms likewise require lots of containers, for organizing all the ingredients in a numerical, semi-numerical, or non-numerical recipe. We might call these containers data structures, or refer to their role as one of structuring (organizing) our data. \n", "\n", "To quote Wes McKinney, in *Python for Data Analysis*, 3rd Edition:\n", "\n", "
\n", " When I say “data,” what am I referring to exactly? The primary focus is on structured data, a deliberately vague term that encompasses many different common forms of data, such as:\n", "\n", "* Tabular or spreadsheet-like data in which each column may be a different type (string, numeric, date, or otherwise). This includes most kinds of data commonly stored in relational databases or tab- or comma-delimited text files.\n", "\n", "* Multidimensional arrays (matrices).\n", "\n", "* Multiple tables of data interrelated by key columns (what would be primary or foreign keys for a SQL user).\n", "\n", "* Evenly or unevenly spaced time series.\n", "
\n", "\n", "For example, in the Fibonacci Numbers code, we stored the sequence in a Python list named fibs. The Python list is a type of data structure. What are some other data structures in Python?\n", "\n", "We will begin our study of data structures by using them within algorithms. \n", "\n", "In an object oriented programming language, such as Python, we imagine objects as a combination of data, and algorithms for working with that data." ] }, { "cell_type": "markdown", "id": "featured-criminal", "metadata": {}, "source": [ "The Python type defined below allows for the creation of any number of individual Pythons through the \"birthing\" process, or `__init__`. Each new Python starts out with a name and an empty stomach. The eat method, defined at the class level (along with the other methods) is a way to append foods to the stomach object contained in each snake." ] }, { "cell_type": "code", "execution_count": 20, "id": "public-conjunction", "metadata": {}, "outputs": [], "source": [ "class Python:\n", " family = \"snake\"\n", "\n", " def __init__(self, nm):\n", " self.name = nm\n", " self.stomach = [ ] # <-- built-in data structure\n", "\n", " def eat(self, food):\n", " self.stomach.append(food)\n", "\n", " def __repr__(self):\n", " return 'Python named ' + self.name" ] }, { "cell_type": "code", "execution_count": 21, "id": "ordinary-pulse", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Python named Shelly" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "snake1 = Python(\"Shelly\")\n", "snake1" ] }, { "cell_type": "code", "execution_count": 22, "id": "thirty-nursery", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['emoji']" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "snake1.eat(\"emoji\")\n", "snake1.stomach" ] }, { "cell_type": "code", "execution_count": 23, "id": "digital-packet", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'name': 'Guido', 'stomach': ['eggs']}" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "snake2 = Python(\"Guido\")\n", "snake2.eat(\"eggs\")\n", "snake2.__dict__" ] }, { "cell_type": "code", "execution_count": 24, "id": "martial-science", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'snake'" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Python.family" ] }, { "cell_type": "markdown", "id": "tribal-release", "metadata": {}, "source": [ "Python's data structures may be classified into two major categories: *sequences* and *mappings*. " ] }, { "cell_type": "markdown", "id": "mounted-greek", "metadata": {}, "source": [ "### Sequences" ] }, { "cell_type": "code", "execution_count": 25, "id": "taken-stadium", "metadata": {}, "outputs": [], "source": [ "# List\n", "\n", "L = [5, 2, 7, 0, 10]" ] }, { "cell_type": "code", "execution_count": 26, "id": "hearing-metabolism", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[10, 0, 7, 2, 5]" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L.reverse() # some algorithm knows how to reverse any list\n", "L" ] }, { "cell_type": "code", "execution_count": 27, "id": "impossible-integration", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[0, 2, 5, 7, 10]" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L.sort() # some algorithm knows how to sort some lists\n", "L" ] }, { "cell_type": "code", "execution_count": 28, "id": "applicable-distribution", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "'<' not supported between instances of 'int' and 'str'\n" ] } ], "source": [ "M = ['a', 10, True] # but not all lists can be sorted\n", "try:\n", " M.sort()\n", "except Exception as e:\n", " print(e)" ] }, { "cell_type": "markdown", "id": "stupid-legend", "metadata": {}, "source": [ "Any data structure that has a first-to-last ordering is a sequence. A list is a sequence. So is a string." ] }, { "cell_type": "code", "execution_count": 29, "id": "urban-chorus", "metadata": {}, "outputs": [], "source": [ "# all of these may be indexed\n", "a_tuple = (1, 7, 9, 12)\n", "a_list = [1, 7, 9, 12]\n", "a_string = \"1 7 9 12\"" ] }, { "cell_type": "code", "execution_count": 30, "id": "equal-homework", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "7" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a_tuple[1] # tuples are like lists but fight being changed" ] }, { "cell_type": "code", "execution_count": 31, "id": "coordinate-contamination", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "12" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a_list[-1] # negative index: coming from the right" ] }, { "cell_type": "code", "execution_count": 32, "id": "artificial-paper", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'1 7 9'" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a_string[0:5] # slice notation, still indexing" ] }, { "cell_type": "markdown", "id": "failing-kitchen", "metadata": {}, "source": [ "### NamedTuple\n", "\n", "![Periodic Table](https://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Periodic_table_large-es.svg/800px-Periodic_table_large-es.svg.png)\n", "\n", "The namedtuple type, importable from the collections library, allows us to access elements by name, not just by index number. \n", "\n", "For example, consider an Element from the Periodic Table, such as [iron](https://www.britannica.com/science/iron-chemical-element):" ] }, { "cell_type": "code", "execution_count": 33, "id": "numeric-beijing", "metadata": {}, "outputs": [], "source": [ "from collections import namedtuple" ] }, { "cell_type": "code", "execution_count": 34, "id": "textile-defense", "metadata": {}, "outputs": [], "source": [ "Element = namedtuple(\"Atom\", 'protons weight symbol name category')" ] }, { "cell_type": "code", "execution_count": 35, "id": "demographic-party", "metadata": {}, "outputs": [], "source": [ "iron = Element(*(26, 55.845, \"Fe\", \"Iron\", 'transition metal')) # the star \"explodes\" the tuple into individual arguments" ] }, { "cell_type": "code", "execution_count": 36, "id": "dutch-avatar", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "26" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "iron.protons # named attribute" ] }, { "cell_type": "code", "execution_count": 37, "id": "involved-sheriff", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Fe'" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "iron[2] # symbol" ] }, { "cell_type": "markdown", "id": "successful-olive", "metadata": {}, "source": [ "### Numpy Array\n", "\n", "The numpy array is the workhorse of array-based computing throughout business and industry. Computing is array-based, or \"vectorized\", when all elements may be given the same treatment, as inputs to some operation, without explicit looping and/or indexing.\n", "\n", "For example, lets import the numpy library and take advantage of its powerful random number generating capabilities." ] }, { "cell_type": "code", "execution_count": 38, "id": "occasional-privacy", "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 39, "id": "divided-banking", "metadata": {}, "outputs": [], "source": [ "rng = np.random.default_rng()" ] }, { "cell_type": "code", "execution_count": 40, "id": "improved-creation", "metadata": {}, "outputs": [], "source": [ "# rng?" ] }, { "cell_type": "code", "execution_count": 41, "id": "separated-condition", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[87, 88, 97, 49, 21, 0, 31, 23, 76, 9],\n", " [91, 58, 18, 72, 33, 83, 18, 35, 77, 66],\n", " [29, 82, 82, 13, 32, 48, 44, 49, 53, 50],\n", " [99, 46, 11, 53, 15, 16, 83, 8, 12, 10],\n", " [44, 37, 10, 37, 95, 78, 37, 27, 86, 47]])" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_2d = rng.integers(0, 101, 50).reshape(5, 10)\n", "arr_2d" ] }, { "cell_type": "code", "execution_count": 42, "id": "unable-harvard", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(5, 10)" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_2d.shape" ] }, { "cell_type": "code", "execution_count": 43, "id": "considered-hybrid", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([70. , 62.2, 43.6, 44.8, 39.2, 45. , 42.6, 28.4, 60.8, 36.4])" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_2d.mean(axis=0) # averages for each row" ] }, { "cell_type": "code", "execution_count": 44, "id": "diagnostic-kingdom", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([48.1, 55.1, 48.2, 35.3, 49.8])" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_2d.mean(axis=1) # averages for each column" ] }, { "cell_type": "code", "execution_count": 45, "id": "contained-diagram", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 3, 4, 1, 1, 9, 0, 7, 11, 4, 9],\n", " [ 7, 10, 6, 0, 9, 11, 6, 11, 5, 6],\n", " [ 5, 10, 10, 1, 8, 0, 8, 1, 5, 2],\n", " [ 3, 10, 11, 5, 3, 4, 11, 8, 0, 10],\n", " [ 8, 1, 10, 1, 11, 6, 1, 3, 2, 11]])" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.mod(arr_2d, 12)" ] }, { "cell_type": "markdown", "id": "whole-activity", "metadata": {}, "source": [ "### Mappings\n", "\n", "#### The Python Dictionary \n", "\n", "A mapping holds data, perhaps key:value pairs, as in a dict (dictionary), but has no special first-to-last order such that indexes might be used." ] }, { "cell_type": "code", "execution_count": 46, "id": "meaningful-trance", "metadata": {}, "outputs": [], "source": [ "bio_data = { \"Leo Fibonacci\": (1170, 1250),\n", " \"Al Khwarizmi\": (780, 850),\n", " \"Al Gore\": (1948,)}" ] }, { "cell_type": "code", "execution_count": 47, "id": "reflected-bennett", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys(['Leo Fibonacci', 'Al Khwarizmi', 'Al Gore'])" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bio_data.keys()" ] }, { "cell_type": "code", "execution_count": 48, "id": "transsexual-ordering", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_values([(1170, 1250), (780, 850), (1948,)])" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bio_data.values()" ] }, { "cell_type": "code", "execution_count": 49, "id": "celtic-abraham", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_items([('Leo Fibonacci', (1170, 1250)), ('Al Khwarizmi', (780, 850)), ('Al Gore', (1948,))])" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bio_data.items()" ] }, { "cell_type": "code", "execution_count": 50, "id": "ahead-regular", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Not Found'" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "default = \"Not Found\"\n", "bio_data.get(\"Fibonacci\", default) # get method allows a default" ] }, { "cell_type": "code", "execution_count": 51, "id": "vocational-october", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Not Found'" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bio_data.get(\"Joe\", default)" ] }, { "cell_type": "code", "execution_count": 52, "id": "emerging-promise", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(780, 850)" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bio_data[\"Al Khwarizmi\"] # direct access using the key" ] }, { "cell_type": "markdown", "id": "casual-property", "metadata": {}, "source": [ "We will talk a lot more about the fine points of Python's data structures as the class progresses. \n", "\n", "We will also look at data structures we need to build ourselves, but from built-in data structures." ] }, { "cell_type": "markdown", "id": "injured-intent", "metadata": {}, "source": [ "#### Notes:\n", "\n", "1. Politician Al Gore took credit for \"inventing the internet\" which many considered too much of an exaggeration, leading to many jokes at Al's expense.\n", "\n", "2. Fibonacci Numbers are derived by adding the previous two terms to get the next term, starting from 0 and 1. The closely related [Lucas Numbers](https://oeis.org/A000032) start off with 2 and 1 instead of 0 and 1." ] }, { "cell_type": "code", "execution_count": 53, "id": "naughty-navigation", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[2, 1, 3, 4, 7, 11, 18, 29, 47, 76]\n" ] } ], "source": [ "gen = fibo(2, 1) # reusing the same generator, changing defaults\n", "lucas = [next(gen) for _ in range(10)] # OEIS A000032\n", "print(lucas)" ] }, { "cell_type": "markdown", "id": "secondary-basin", "metadata": {}, "source": [ "#### The Python Set\n", "\n", "The Python set is a lot like a dictionary, except it only has keys, no values. Like with a dict, the keys must be unique, and therefore immutable. If keys were allowed to change in place, like lists might, then originally unique keys could be made the same, and that would corrupt the entire data structure.\n", "\n", "Sets themselves are mutable, however if you \"freeze\" a set by turning it into a \"frozen set\", then it too may be used, like a tuple, like a string, as a set element and/or key." ] }, { "cell_type": "code", "execution_count": 54, "id": "original-crown", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# a set comprehension\n", "\n", "with open(\"wordkeep.txt\", \"r\") as the_file:\n", " five_letter_starting_x = {word[:-1] for word \n", " in the_file.readlines()\n", " if \"x\" == word[0]}\n", " \n", " the_file.seek(0) # move pointer back to the top\n", " five_letter_starting_y = {word[:-1] for word \n", " in the_file.readlines()\n", " if \"y\" == word[0]}\n", "\n", "# file closes when with-scope ends\n", "len(five_letter_starting_x)" ] }, { "cell_type": "code", "execution_count": 55, "id": "legal-basket", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "47" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(five_letter_starting_y)" ] }, { "cell_type": "code", "execution_count": 56, "id": "alleged-netherlands", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['yearn',\n", " 'yogic',\n", " 'yella',\n", " 'yecch',\n", " 'yoked',\n", " 'yawls',\n", " 'yucky',\n", " 'yards',\n", " 'yummy']" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(five_letter_starting_y)[30:39] # sample the set" ] }, { "cell_type": "code", "execution_count": 57, "id": "distinguished-suite", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'xenon', 'xerox', 'xored', 'xylem'}" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "five_letter_starting_x" ] }, { "cell_type": "code", "execution_count": 58, "id": "suspended-hartford", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{frozenset({'xenon', 'xerox', 'xored', 'xylem'}): 'must start with x'}" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x_words = frozenset(five_letter_starting_x)\n", "test_dict = {x_words: \"must start with x\"}\n", "test_dict" ] }, { "cell_type": "markdown", "id": "neural-porcelain", "metadata": {}, "source": [ "### The pandas Series\n", "\n", "pandas is the premier Python data analysis library, although it's not alone on stage. \n", "\n", "pandas shines when used with additional libraries and packages. It depends on numpy and matplotlib.\n", "\n", "Inside of pandas are the Series and the DataFrame types.\n", "\n", "A Series is like a one-dimensional numpy array, but potentially with string labels for indexing, making it more like a namedtuple or dictionary.\n" ] }, { "cell_type": "markdown", "id": "collected-nightlife", "metadata": {}, "source": [ "### The pandas DataFrame¶\n", "\n", "\n", "A DataFrame is an arrangement of Series, left to right, serving as successive columns and sharing a common row index, i.e. a tabular, 2-dimensional format." ] }, { "cell_type": "markdown", "id": "frequent-transcript", "metadata": {}, "source": [ "Resources:\n", "\n", "* [Official Python Docs on Data Structures](https://docs.python.org/3/tutorial/datastructures.html)\n", "* A whole Github repo devoted to [Python Data Structures](https://github.com/okeeffed/cheat-sheets/blob/master/Python-Data-Structures.md#data-structures-with-python), by Dennis O'Keeffe \n", "* [List, Dict and Set Comprehensions (Notebook)](List_Comprehensions.ipynb)\n" ] }, { "cell_type": "markdown", "id": "criminal-poverty", "metadata": {}, "source": [ "#### Collectible / Recommended Books:\n", "\n", "\"Old\n", "\n", "Used at [Phillips Academy / Andover](https://www.andover.edu/). Introduces the cryptographic algorithm named [RSA](https://github.com/4dsolutions/elite_school/blob/master/RSA.ipynb).\n", "\n", "\"Sigma\"\n", "\n", "Used at Stanford University to help make *The Art of Computer Programming* more understandable." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.12" } }, "nbformat": 4, "nbformat_minor": 5 }