{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## CS 200: Analysis of Algorithms\n", "\n", "\n", "

\n", "\n", " \n", "Video: Analyzing Algorithms\n", " \n", "Big-O Cheat Sheet\n", " \n", " \n", "### Timing functions\n", " \n", "We can use the Jupyter magic command %timeit\n", " " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "def sum1(n):\n", " sum = 0\n", " for x in range(n+1):\n", " sum += x\n", " return sum" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5000050000" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum1(100000)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4.01 ms ± 10.2 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], "source": [ "%timeit sum1(100000)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "from functools import reduce" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def sum2(n):\n", " return reduce(lambda x,y: x+y, range(n+1))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5000050000" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum2(100000)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "7.08 ms ± 101 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], "source": [ "%timeit sum2(100000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Timing functions\n", "\n", "We create our own function to time execution time." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "import time" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "371360.807213458" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "time.perf_counter()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "def functime(func, arg):\n", " ''' stopwatch function to time execution time '''\n", " tic = time.perf_counter()\n", " val = func(arg)\n", " toc = time.perf_counter()\n", " elapsed = toc - tic\n", " return (val, arg, elapsed) " ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(5000050000, 100000, 0.0041978079825639725)" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "functime(sum1,100000)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(500000500000, 1000000, 0.04292349598836154)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "functime(sum1,1000000)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(5000050000, 100000, 0.007542783976532519)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "functime(sum2,100000)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(500000500000, 1000000, 0.07486499997321516)" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "functime(sum2,1000000)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "def sum3(n):\n", " ''' Guaus's formula for sum of first n integers '''\n", " return int((n*(n+1))/2)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "50005000" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum3(10000)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(5000050000, 100000, 2.4819746613502502e-06)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "functime(sum3,100000)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(500000500000, 1000000, 2.082961145788431e-06)" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "functime(sum3, 1000000)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(50000005000000, 10000000, 2.208980731666088e-06)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "functime(sum3,10000000)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(5050, 100, 2.128013875335455e-06)" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "functime(sum3, 100)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "def mapfunctime(func, arglist = [1000,10000,100000,1000000]):\n", " return list(map(lambda x: functime(func, x), arglist))" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(500500, 1000, 4.1875988245010376e-05),\n", " (50005000, 10000, 0.00040575896855443716),\n", " (5000050000, 100000, 0.00431140698492527),\n", " (500000500000, 1000000, 0.042788993974681944)]" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mapfunctime(sum1)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(500500, 1000, 7.408205419778824e-05),\n", " (50005000, 10000, 0.0007085069664753973),\n", " (5000050000, 100000, 0.007762196997646242),\n", " (500000500000, 1000000, 0.0752282990142703)]" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mapfunctime(sum2)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "x = mapfunctime(sum3)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[1000, 10000, 100000, 1000000]" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[b for a,b,c in x]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plotting the execution times" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "def plottimes(func):\n", " ''' plot the execution time on XY graph '''\n", " fig, ax = plt.subplots() # Create a figure containing a single axes.\n", " ax.set_xlabel('elements') # Add an x-label to the axes.\n", " ax.set_ylabel('execution time') # Add a y-label to the axes.\n", " ax.set_title(\"Complexity: \" + func.__name__) # Add a title to the axes.\n", " data = mapfunctime(func)\n", " x = [arg for val, arg, time in data]\n", " y = [time for val, arg, time in data]\n", " ax.plot(x, y)\n" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "

" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plottimes(sum1)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEWCAYAAAB8LwAVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deXxU9dn38c9F2HchrIEQlhhkV8JWl4p1QWxFlNalYrU+Uu+qd7VPBRStiFq31qpPUeRuXWit3sqiqIhb3ZWyqA1hNYJAILJKwLBku54/5tCOcUgmkMlkku/79ZpX5szvd+ZcJ5D5ztl+x9wdERGRsurFuwAREamZFBAiIhKRAkJERCJSQIiISEQKCBERiUgBISIiESkgRMphZl+a2elH+R4nm9maqqpJpLooIKRGMrNLzGypmX1jZnlm9qqZnRTvuo6Eu7/v7hmHpqsidKqTmQ03szfMbJeZbTez582sU7zrkthTQEiNY2a/Bh4Efgd0AFKBR4Ax8ayrDjsGmAmkAd2AvcAT8SxIqocCQmoUM2sFTAOucfe57l7g7kXu/pK73xj0aWRmD5rZluDxoJk1CtpONbNcM5toZtuCrY/zzGy0ma0NvgXfHLa8qWY228z+18z2mtknZjbwMLXVM7PJZvaFme00s+fMrE3Q9qiZzQ7re6+ZvWUhp5pZbvD6XwkF3kvB1tFEM3vFzK4rs6wsMzuvgt+Vmdkfg/XMD+bpF7S9Y2b/J6zv5Wb2Qdi0m9kvzezzYL3vMLOeZvaxme0J1q0hgLu/6u7Pu/sed98H/Ak4seJ/TUl0CgipaUYAjYF55fSZAgwHBgEDgaHALWHtHYP3SAF+C/wPcCkwGDgZ+K2Z9QjrPwZ4HmgD/B14wcwaRFjufwPnAd8HOgNfA9ODtv8LDAg+iE8GrgR+5mXGsnH38cBG4Efu3tzd7wOeCuoDIAioFGCBmT1iZo8c5vdwJnAKcCzQGrgQ2HmYvpGMIvQ7GQ5MJLSV8FOgK9APuPgw850CrKjEciRBKSCkpmkL7HD34nL6/BSY5u7b3H07cDswPqy9CLjL3YuAZ4Fk4CF33+vuKwh9uA0I67/M3WcH/R8gFC7DIyz3F8AUd89194PAVGCcmdUPvllfGsz/N+A6d8+Ncp1fBNLNLD2YHg/8r7sXuvsv3f2Xh5mvCGgB9AbM3Ve5e16UywS4N9gqWAFkA6+7+zp3zwdeBY4vO4OZDSAUujdWYjmSoBQQUtPsBJLNrH45fToDG8KmNwSv/fs93L0keL4/+Lk1rH0/0DxsetOhJ+5eCuSWeb9DugHzzGy3me0GVgElhI6T4O6LgXWAAc+VU/+3BGHzHHCpmdUj9M39r1HM9w9Cu3umA1vNbKaZtYx2uXz3d1Le7wgz60UoOH7l7u9XYjmSoBQQUtN8DBwgtCvncLYQ+rA+JDV47Uh1PfQk+IDucpj32wSc7e6twx6N3X1zMO81QKNg3onlLC/SEMpPEdoy+gGwz90/jqZwd3/Y3QcDfQntajr0zb4AaBrWtWM073c4ZtYNeBO4w90rDC+pHRQQUqMEuzd+C0wPDi43NbMGZna2md0XdHsGuMXM2plZctD/b0ex2MFmdn6w1XI9cBBYFKHfDOCu4MOSYPljgufHAncS2s00HphoZoMOs7ytQPgxEIJAKAX+QBRbD8Eyh5jZsOB4SQGhYD205fQZcH7w++tF6JjIETGzFOAfwHR3n3Gk7yOJRwEhNY67PwD8mtCB5+2EvrlfC7wQdLkTWApkAcuBT4LXjtSLhA7wfk3ow/384HhEWQ8B84HXzWwvoRAZFgTL3wjt0/+Xu38O3Az89dDZVWXcTSjgdpvZb8JenwX0JyzszGyGmR3uQ7kloQPwXxPazbYT+H3Q9kegkFAYPQU8XcHvoDz/h1Cg3RacefWNmX1zFO8nCcJ0wyCpy8xsKtDL3S+tqG811HIZMMHdE/KCQKl9tAUhUgOYWVPgl4RONRWpERQQInFmZmcR2pW2ldB1GCI1gnYxiYhIRNqCEBGRiMq7GCnhJCcne1paWrzLEBFJGMuWLdvh7u0itdWqgEhLS2Pp0qXxLkNEJGGY2YbDtWkXk4iIRKSAEBGRiBQQIiISkQJCREQiUkCIiEhECggREYlIASEiIhEpIEREEtiSL3fx2LtfxOS9a9WFciIidcU3B4u5f+FqZi3aQNdjmjJ+RDeaNqzaj3QFhIhIgnl37XZunrucLfn7ufx7afzmzIwqDwdQQIiIJIzd+wq54+VVzPkkl57tmjH76hEM7tYmZstTQIiIJICF2Xnc8sIKvt5XyLUje3Htab1o3CAppstUQIiI1GDb9h7gthdX8Gr2V/Tt3JKnfj6Evp1bVcuyFRAiIjWQuzP3k81Me3kl+4tKmDgqg6tO7kGDpOo7+VQBISJSw2zevZ+b5y7n3bXbyex2DPdcMIBe7ZtXex0KCBGRGqK01Hn6nxu459XVODD1R324bEQa9epZXOpRQIiI1ADrdxQwaU4Wi9fv4uT0ZH43tj9d2zSNa00KCBGROCouKeXPH6znj2+spVH9etw/bgDjBnfBLD5bDeFierTDzEaZ2RozyzGzyRHazcweDtqzzOyE4PUMM/ss7LHHzK6PZa0iItVtVd4exj7yEfe8uppTM9rx5q+/z48zu9aIcIAYbkGYWRIwHTgDyAWWmNl8d18Z1u1sID14DAMeBYa5+xpgUNj7bAbmxapWEZHqdLC4hOn/yOGRd76gddMGTL/kBEb371hjguGQWO5iGgrkuPs6ADN7FhgDhAfEGGCWuzuwyMxam1knd88L6/MD4At3P+yNtUVEEsWnG79m4uwsPt/2Decfn8KtP+zDMc0axrusiGIZECnAprDpXEJbCRX1SQHCA+Ii4JnDLcTMJgATAFJTU4+iXBGR2NlfWMLvX1/D4x+up2PLxjxx+RBG9m4f77LKFcuAiLSt5JXpY2YNgXOBmw63EHefCcwEyMzMLPv+IiJx99EXO5g8Zzkbd+3j0uGpTBrVmxaNG8S7rArFMiByga5h012ALZXsczbwibtvjUmFIiIxtOdAEXcvWM0zizeS1rYpz04YzvAebeNdVtRiGRBLgHQz607oIPNFwCVl+swHrg2OTwwD8sscf7iYcnYviYjUVG+t2sqUedls23uAX5zSg+tPP5YmDWM7uF5Vi1lAuHuxmV0LvAYkAY+7+wozuzponwEsAEYDOcA+4IpD85tZU0JnQP0iVjWKiFS1nd8cZNrLK3nxsy307tiCx8YPZmDX1vEu64jE9EI5d19AKATCX5sR9tyBaw4z7z4gcbbFRKROc3deyspj6vwV7D1QxA2nH8t/ndqThvUT987OupJaROQofZV/gFteyObNVVsZ2LU1910wgIyOLeJd1lFTQIiIHCF353+XbOKuBasoKillyujj+PlJ3UmK0+B6VU0BISJyBDbu3MdN87L4MGcnw3u04Z7zB5CW3CzeZVUpBYSISCWUlDpPfvQlv39tDUn1jLvG9uPiIalxG5I7lhQQIiJRytm2l4mzs/hk425GZrTjrrH96dy6SbzLihkFhIhIBYpKSnns3S94+K0cmjVK4sELBzFmUOcaN7heVVNAiIiUI3tzPjfOzmJV3h5+OKATU8/tS3LzRvEuq1ooIEREIjhQVMKDb37O/7y/jrbNGjJz/GDO7Nsx3mVVKwWEiEgZS77cxaTZWazbUcCFmV25+ZzjaNWk5g+uV9UUECIigW8OFnP/wtXMWrSBlNZN+NuVwzgpPTneZcWNAkJEBHhv7XZumrucLfn7ufx7afzmzAyaNarbH5F1e+1FpM7L31fEHa+sZPayXHq2a8bsq0cwuFubeJdVIyggRKTOWpidx60vrmBXQSHXjOzJdael07hBYg3JHUsKCBGpc7btPcDU+StYsPwr+nZuyZNXDKFv51bxLqvGUUCISJ3h7sz9ZDPTXl7J/qISJo7K4KqTe9AgKXGH5I4lBYSI1Ambd+/n5rnLeXftdjK7HcM9FwygV/vm8S6rRlNAiEitVlrqPP3PDdzz6mocmPqjPlw2Iq1WDq5X1RQQIlJrrd9RwKQ5WSxev4uT05P53dj+dG3TNN5lJYyY7ngzs1FmtsbMcsxscoR2M7OHg/YsMzshrK21mc02s9VmtsrMRsSyVhGpPYqDwfVGPfgeq/P2cN+4Acz6+VCFQyXFbAvCzJKA6cAZQC6wxMzmu/vKsG5nA+nBYxjwaPAT4CFgobuPM7OGgP5lRaRCq/L2MGlOFlm5+ZzZpwN3nteP9i0bx7ushBTLXUxDgRx3XwdgZs8CY4DwgBgDzHJ3BxYFWw2dgALgFOByAHcvBApjWKuIJLiDxSVMf/sLHnk7h9ZNGzD9khMY3b9jrR+SO5ZiGRApwKaw6Vz+s3VQXp8UoBjYDjxhZgOBZcCv3L2g7ELMbAIwASA1NbXKiheRxPHpxq+ZNCeLtVu/4fzjU7j1h304plnDeJeV8GJ5DCJSbHuUfeoDJwCPuvvxhLYovnMMA8DdZ7p7prtntmvX7mjqFZEEs7+whDteXsn5j37E3gPFPHH5EB64cJDCoYrEcgsiF+gaNt0F2BJlHwdy3f2fweuzOUxAiEjd9NEXO5g8Zzkbd+3j0uGpTBrVmxaN696Q3LEUy4BYAqSbWXdgM3ARcEmZPvOBa4PjE8OAfHfPAzCzTWaW4e5rgB/w7WMXIlJH7TlQxN0LVvPM4o2ktW3KsxOGM7xH23iXVSvFLCDcvdjMrgVeA5KAx919hZldHbTPABYAo4EcYB9wRdhbXAc8HZzBtK5Mm4jUQW+t2sqUedls23uACaf04IbTj6VJQw2uFysWOoGodsjMzPSlS5fGuwwRqWK7Cgq5/aUVvPjZFjI6tOC+cQMY2LV1vMuqFcxsmbtnRmrTldQiUmO5Oy9l5TF1/gr2Hiji+tPT+eWpvWhYX4PrVQcFhIjUSFv3HGDKvGzeXLWVgV1bc98FA8jo2CLeZdUpCggRqVHcnf9dsom7FqyiqKSUKaOP4+cndSdJg+tVOwWEiNQYG3fu46Z5WXyYs5PhPdpwz/kDSEtuFu+y6iwFhIjEXUmp8+RHX/L719aQVM+4a2w/Lh6SqiG540wBISJxlbNtLxNnZ/HJxt2MzGjHXWP707l1k3iXJSggRCROioIhuR9+K4dmjZJ48MJBjBnUWYPr1SAKCBGpdtmb87lxdhar8vZwzoBO3H5uX5KbN4p3WVKGAkJEqs2BohIeeutzZr63jrbNGvLY+MGc1bdjvMuSw1BAiEi1WPLlLibNzmLdjgIuzOzKzaOPo1VTDa5XkykgRCSmvjlYzP0LVzNr0QZSWjfhb1cO46T05HiXJVFQQIhIzLy3djs3zV3Olvz9XP69NH5zZgbNGuljJ1HoX0pEqlz+viLueGUls5fl0rNdM2ZfPYLB3drEuyypJAWEiFSphdl53PriCnYVFHLNyJ5cd1o6jRtoSO5EpIAQkSqxfe9BbpufzYLlX9GnU0ueuHwI/VJaxbssOQoKCBE5Ku7OvE83M+3llewrLOHGszKYcEoPGiRpSO5Ep4AQkSO2efd+psxbzjtrtjO42zHce8EAerVvHu+ypIrENCDMbBTwEKFbjv7Z3e8p025B+2hCtxy93N0/Cdq+BPYCJUDx4e54JCLVr7TUeXrxRu5ZsAoHpv6oD5eNSNPgerVMhQFhZh2A3wGd3f1sM+sDjHD3v1QwXxIwHTgDyAWWmNl8d18Z1u1sID14DAMeDX4eMtLdd1RmhUQkttbvKGDSnCwWr9/FyenJ/G5sf7q2aRrvsiQGotlJ+CTwGtA5mF4LXB/FfEOBHHdf5+6FwLPAmDJ9xgCzPGQR0NrMOkVVuYhUq+JgcL1RD77H6rw93DduALN+PlThUItFs4sp2d2fM7ObANy92MxKopgvBdgUNp3Lt7cODtcnBcgDHHjdzBx4zN1nRlqImU0AJgCkpqZGUZaIVNaqvD1MmpNFVm4+Z/bpwJ3n9aN9y8bxLktiLJqAKDCztoQ+sDGz4UB+FPNF2hnplehzortvMbP2wBtmttrd3/tO51BwzATIzMws+/4ichQOFpcw/e0veOTtHFo3bcD0S05gdP+OGpK7jogmIH4NzAd6mtmHQDtgXBTz5QJdw6a7AFui7ePuh35uM7N5hHZZfScgRCQ2Pt34NZPmZLF26zeMPT6F3/6wD8c0axjvsqQaVRgQ7v6JmX0fyCD0jX+NuxdF8d5LgHQz6w5sBi4CLinTZz5wrZk9S2j3U76755lZM6Ceu+8Nnp8JTIt6rUTkiO0vLOEPr6/h8Q/X06FlY564fAgje7ePd1kSB9GcxZRE6DTUtKD/mWaGuz9Q3nzBsYprCR3gTgIed/cVZnZ10D4DWBC8dw6h01yvCGbvAMwLNmPrA39394WVXz0RqYyPvtjB5DnL2bhrH5cOT2XSqN60aKwhueuqaHYxvQQcAJYDpZV5c3dfQCgEwl+bEfbcgWsizLcOGFiZZYnIkdtzoIi7F6zmmcUbSWvblGcnDGd4j7bxLkviLJqA6OLuA2JeiYjExVurtjJlXjbb9h5gwik9uOH0Y2nSUIPrSXQB8aqZnenur8e8GhGpNrsKCrn9pRW8+NkWMjq04LHxgxnYtXW8y5IaJJqAWEToeEA9oIjQgWp395YxrUxEYsLdeSkrj6nzV7D3QBHXn57OL0/tRcP6GlxPvi2agPgDMAJYHhwzEJEEtXXPAabMy+bNVVsZ2KUV940bTkbHFvEuS2qoaALicyBb4SCSuNyd55Zu4s5XVlFYXMqU0cfx85O6k6TB9aQc0QREHvCOmb0KHDz0YkWnuYpIzbBp1z4mz83iw5ydDOvehnsvGEBacrN4lyUJIJqAWB88GgYPEUkAJaXOUx99yf2vrSGpnnHX2H5cPCRVQ3JL1KK5kvr26ihERKpOzra9TJydxScbdzMyox13je1P59ZN4l2WJJjDBoSZPeju15vZS3x3kD3c/dyYViYilVYUDMn98Fs5NGuUxIMXDmLMoM4aXE+OSHlbEH8Nfv6+OgoRkaOTvTmfG2dnsSpvD+cM6MTt5/YluXmjeJclCeywAeHuy4Kng9z9ofA2M/sV8G4sCxOR6BwoKuGhtz5n5nvraNusIY+NH8xZfTvGuyypBaI5SP0zQveNDnd5hNdEpJot+XIXk2ZnsW5HAT/J7MKU0X1o1VSD60nVKO8YxMWEhufubmbzw5paADtjXZiIHF7BwWLuW7iaWYs2kNK6CX+9cignp7eLd1lSy5S3BfERoWsgkgldTX3IXiArlkWJyOG9t3Y7N81dzpb8/fxsRBo3npVBs0bR7AwQqZzyjkFsADYQGmZDROIsf18Rd7yyktnLcunZrhnP/2IEmWlt4l2W1GL62iGSABZm53HriyvYVVDINSN7ct1p6TRuoCG5JbYUECI12Pa9B7ltfjYLln9Fn04teeLyIfRLaRXvsqSOiOn4vmY2yszWmFmOmU2O0G5m9nDQnmVmJ5RpTzKzT83s5VjWKVLTuDtzP8nljD++y5urtnHjWRm8eO2JCgepVtHck/pEYCrQLeh/6H4QPSqYLwmYDpwB5AJLzGy+u68M63Y2kB48hgGPBj8P+RWwCtC9J6TO2Lx7P1PmLeedNdsZ3O0Y7r1gAL3aN493WVIHRbOL6S/ADcAyoKQS7z0UyAnuL42ZPQuMAcIDYgwwKxhKfJGZtTazTu6eZ2ZdgHOAu4BfV2K5IgmptNR5evFG7lmwCgem/qgP40ekaUhuiZtoAiLf3V89gvdOATaFTefy7a2Dw/VJIXR67YPARELXXYjUaut3FDBpThaL1+/ipF7J3H1+f7q2aRrvsqSOiyYg3jaz+4G5fPt+EJ9UMF+krz1lB/2L2MfMfghsc/dlZnZquQsxmwBMAEhNTa2gJJGapbiklL98sJ4H3lhLo/r1uG/cAH48uIsG15MaIZqAOPStPzPsNQdOq2C+XKBr2HQXYEuUfcYB55rZaKAx0NLM/ubul5ZdiLvPBGYCZGZm6q53kjBW5e1h0pwssnLzObNPB+48rx/tWzaOd1ki/xbN/SBGHuF7LwHSzaw7sBm4iNDQHeHmA9cGxyeGEdqdlQfcFDwItiB+EykcRBLRweISpr/9BY+8nUPrpg2YfskJjO7fUVsNUuNEcxZTK+A24JTgpXeBae6eX9587l5sZtcCrwFJwOPuvsLMrg7aZwALgNFADrAPuOJIV0QkEXy68Wsmzcli7dZvGHt8Cr/9YR+OaaYbNUrNZKETiMrpYDYHyAaeCl4aDwx09/NjXFulZWZm+tKlS+Ndhsh37C8s4Q+vr+HxD9fToWVjfje2PyN7t493WSKY2TJ3z4zUFs0xiJ7ufkHY9O1m9lnVlCZS+338xU4mz81iw859/HRYKpPP7k2LxhqSW2q+aAJiv5md5O4fwL8vnNsf27JEEt+eA0XcvWA1zyzeSLe2TXnmquGM6Nk23mWJRC2agPgv4KngWIQBuwjdMEhEDuMfq7dy89xstu09wIRTenDD6cfSpKEG15PEEs1ZTJ8BA82sZTC9J+ZViSSoXQWFTHtpBS98toWMDi2YMX4wg7q2jndZIkekvDvKXerufzOzX5d5HQB3fyDGtYkkDHfnpaw8ps5fwd4DRVx/ejq/PLUXDevHdDxMkZgqbwuiWfAz0lAXuiBNJLB1zwGmzMvmzVVbGdilFfeNG05GR40QI4mvvDvKPRY8fdPdPwxvCw5Ui9Rp7s5zSzdx5yurKCwuZcro4/j5Sd01uJ7UGtEcpP5/wAlRvCZSZ2zatY/Jc7P4MGcnw7q34d4LBpCW3KziGUUSSHnHIEYA3wPalTkO0ZLQldEidU5JqfPUR19y/2trSKpn3DW2HxcPSaWethqkFipvC6Ih0DzoE75DdQ+hwfRE6pScbXuZODuLTzbuZmRGO+4a25/OrZvEuyyRmCnvGMS7wLtm9qS7b6jGmkRqlKKSUh579wsefiuHpo2S+OOFAzlvUIoG15NaL5pjEE+a2XfOWnL3iob7Fkl42ZvzmTg7i5V5ezhnQCduP7cvyc0bxbsskWoRTUD8Jux5Y+ACoDg25YjUDAeKSnjorc+Z+d462jZryGPjB3NW347xLkukWkVzJfWyMi99aGbvxqgekbhb8uUuJs3OYt2OAn6S2YUpo/vQqqkG15O6J5r7QbQJm6wHDAb0VUpqnYKDxdy3cDWzFm0gpXUT/nrlUE5ObxfvskTiJppdTMsIXTlthHYtrQeujGVRItXtvbXbuWnucrbk7+dnI9K48awMmjWK5s9DpPaKZhdT9+ooRCQe8vcVcccrK5m9LJce7Zrx/C9GkJnWpuIZReqAaHYxXQM87e67g+ljgIvd/ZFYFycSSwuzv+LWF7PZVVDINSN7ct1p6TRuoGtARQ6JZqjJqw6FA4C7fw1cFc2bm9koM1tjZjlmNjlCu5nZw0F7lpmdELze2MwWm9m/zGyFmd0e7QqJVGT73oNc8/QnXP23ZbRr3ogXrzmRG8/qrXAQKSOanaz1zMw8uHm1mSURusq6XEG/6cAZQC6wxMzmu/vKsG5nA+nBYxjwaPDzIHCau39jZg2AD8zsVXdfVIl1E/kWd2fep5uZ9vJK9hWWcONZGUw4pQcNkjQkt0gk0QTEa8BzZjaD0MHqq4GFUcw3FMhx93UAZvYsMAYID4gxwKwgfBaZWWsz6+TuecA3QZ8GwUNDjMsR27x7P1PmLeedNdsZ3O0Y7r1gAL3aN493WSI1WjQBMQn4BaFbjxrwOvDnKOZLATaFTecS2jqoqE8KkBdsgSwDegHT3f2fkRZiZhOACQCpqalRlCV1SWmp8/TijdyzYBUOTP1RH8aPSNOQ3CJRiOYsplIzexL4h7uvqcR7R/oLLLsVcNg+7l4CDDKz1sA8M+vn7tkR6psJzATIzMzUVob82/odBUyak8Xi9bs4qVcyd5/fn65tmsa7LJGEEc1ZTOcC9xM67tDdzAYB09z93ApmzQW6hk13AbZUto+77zazd4BRwHcCQqSs4pJS/vLBeh54Yy0N69fjvgsG8OPMLhpcT6SSojk6dxuh4wm7Adz9MyAtivmWAOlm1t3MGgIXAfPL9JkPXBaczTQcyHf3PDNrF2w5YGZNgNOB1dGskNRtq7/aw/mPfsTdr67m+8e2481ff5+fDOmqcBA5AtEcgyh29/zK/oG5e7GZXUvoIHcS8Li7rzCzq4P2GcACYDSQA+wDrghm7wQ8FRyHqAc85+4vV6oAqVMKi0v509s5PPJ2Dq2aNOBPlxzPOf07KRhEjkI0AZFtZpcASWaWDvw38FE0b+7uCwiFQPhrM8KeO3BNhPmygOOjWYbIZ5t2M3H2v1i79RvGHp/Cb3/Yh2OaVXgmtohUIJqAuA6YQujahL8TOotpWiyLEonG/sIS/vD6Gh7/cD0dWjbmicuHMLJ3+3iXJVJrRBMQae4+hVBIAGBmpwLvxKgmkQp9/MVOJs/NYsPOffx0WCqTz+5Ni8YaklukKkUTEM+Z2SxCZzI1Bu4DMoERsSxMJJI9B4q4e8Fqnlm8kW5tm/LMVcMZ0bNtvMsSqZWiCYhhwL2Ejju0AJ4GToxlUSKR/GP1Vm6em822vQeYcEoPbjj9WJo01PhJIrESTUAUAfuBJoS2INa7e2lMqxIJs6ugkGkvreCFz7aQ0aEFM8YPZlDX1vEuS6TWiyYglgAvAkOAtsBjZjbO3cfFtDKp89ydl7PymDp/BXsOFPGrH6RzzcheNKyvwfVEqkM0AXGluy8Nnn8FjDGz8TGsSYStew5wywvZvLFyKwO7tOLeccPo3bFlvMsSqVOiuuWomV0K9HD3aWaWClRmTCaRqLk7zy3dxJ2vrKKwuJQpo4/jihPTqK8huUWqXTQB8QhQCpxG6PqHvcAcQrucRKrMpl37mDw3iw9zdjKsexvuvWAAacnN4l2WSJ0V1VlM7n6CmX0KoTvKBWMriVSJklLnqY++5P7X1pBUz7hrbD8uHpJKPQ3JLRJXUZ3FFIyJdOiOcu0IbVGIHLWcbXuZODuLTzbuZmRGO+4a25/OrZvEuywRIbqAeBiYB7Q3s7uAccAtMa1Kar2iklIee/cLHn4rh+yTqpMAABGmSURBVKaNkvjjhQM5b1CKBtcTqUGiuWHQ02a2DPgBoRv8nOfuq2JemdRa2ZvzmTg7i5V5ezhnQCduP7cvyc0bxbssESkjmi0I3H01uh+DHKUDRSU8/NbnPPbeOto0a8hj4wdzVt+O8S5LRA4jqoAQOVpLv9zFxDlZrNtewE8yuzBldB9aNdXgeiI1mQJCYqrgYDH3LVzNrEUbSGndhL9eOZST09vFuywRiYICQmLmvbXbuWnucrbk7+dnI9K48awMmjXSfzmRRBHTy1PNbJSZrTGzHDObHKHdzOzhoD3LzE4IXu9qZm+b2SozW2Fmv4plnVK18vcV8Zvn/8Vljy+mUYN6PP+LEUw9t6/CQSTBxOwvNrh2YjpwBpALLDGz+e6+Mqzb2UB68BgGPBr8LAb+r7t/YmYtCA338UaZeaUGWpj9Fbe+mM2ugkKuGdmT605Lp3EDDcktkohi+ZVuKJDj7usAzOxZYAwQ/iE/BpgV3Jt6kZm1NrNO7p4H5AG4+14zWwWklJlXapDtew8ydf4KXlmeR59OLXni8iH0S2kV77JE5CjEMiBSgE1h07mEtg4q6pNCEA4AZpYGHA/8M9JCzGwCMAEgNTX1KEuWynJ35n26mWkvr2TfwRJuPCuDCaf0oIEG1xNJeLEMiEiXxHpl+phZc0IDA17v7nsiLcTdZwIzATIzM8u+v8TQlt37uXnect5Zs53B3Y7h3gsG0Kt983iXJSJVJJYBkQt0DZvuAmyJto+ZNSAUDk+7+9wY1imVVFrqPL14I/e+uppSd6b+qA/jR6SRpMH1RGqVWAbEEiDdzLoDm4GLgEvK9JkPXBscnxgG5Lt7noUG5PkLsMrdH4hhjVJJ63cUMGlOFovX7+KkXsncfX5/urZpGu+yRCQGYhYQ7l5sZtcCrwFJwOPuvsLMrg7aZwALgNFADrAPuCKY/URgPLDczD4LXrvZ3RfEql4pX3FJKX/5YD0PvLGWhvXrcd8FA/hxZhcNridSi1noBKLaITMz05cuXVpxR6mU1V/tYeLsLLJy8zmzTwfuOK8fHVo2jndZIlIFzGyZu2dGatOVS3JYhcWl/OntHB55O4dWTRrwp0uO55z+nbTVIFJHKCAkos827Wbi7H+xdus3jD0+hVt/2Ic2zXQjQZG6RAEh37K/sIQH3ljDXz5YT4eWjXn88kxO690h3mWJSBwoIOTfPv5iJ5PnZrFh5z4uGZbKTWf3pkVjDcktUlcpIIQ9B4q459XV/P2fG+nWtinPXDWcET3bxrssEYkzBUQd94/VW7l5bjbb9h5gwik9uOH0Y2nSUIPriYgCos7aVVDItJdW8MJnW8jo0IIZ4wczqGvreJclIjWIAqKOcXdezspj6vwV7DlQxK9+kM41I3vRsL4G1xORb1NA1CFb9xzglheyeWPlVgZ2acW944bRu2PLeJclIjWUAqIOcHeeW7qJO19ZRWFxKTeP7s3PT+xOfQ3JLSLlUEDUcpt27eOmucv5IGcHQ7u34d4LBtA9uVm8yxKRBKCAqKVKSp1ZH3/JfQvXkFTPuPO8flwyNJV6GpJbRKKkgKiFcrbtZeLsLD7ZuJtTM9rxu7H96dy6SbzLEpEEo4CoRYpKSnns3S94+K0cmjZK4o8XDuS8QSkaXE9EjogCopbI3pzPxNlZrMzbwzkDOnH7uX1Jbt4o3mWJSAJTQCS4A0UlPPzW5zz23jraNGvIY+MHc1bfjvEuS0RqAQVEAlv65S4mzsli3fYCfjy4C7ec04dWTTW4nohUDQVEAio4WMz9r63hqY+/pHOrJvz1yqGcnN4u3mWJSC0T0yulzGyUma0xsxwzmxyh3czs4aA9y8xOCGt73My2mVl2LGtMNO9/vp0z//geT338JT8bkcbrN5yicBCRmIjZFoSZJQHTgTOAXGCJmc1395Vh3c4G0oPHMODR4CfAk8CfgFmxqjGR5O8r4s5XVvL8slx6tGvG878YQWZam3iXJSK1WCx3MQ0Fctx9HYCZPQuMAcIDYgwwy90dWGRmrc2sk7vnuft7ZpYWw/oSxsLsr7j1xWx2FRRyzcieXHdaOo0baEhuEYmtWAZECrApbDqX/2wdlNcnBciLdiFmNgGYAJCamnpEhdZU2/ceZOr8FbyyPI8+nVryxOVD6JfSKt5liUgdEcuAiHR1lh9Bn3K5+0xgJkBmZmal5q2p3J15n25m2ssr2XewhBvPymDCKT1ooMH1RKQaxTIgcoGuYdNdgC1H0KdO2bJ7PzfPW847a7YzuNsx3HvBAHq1bx7vskSkDoplQCwB0s2sO7AZuAi4pEyf+cC1wfGJYUC+u0e9e6k2KS11/r54I/e8upqSUue2H/XhshFpJGlwPRGJk5gFhLsXm9m1wGtAEvC4u68ws6uD9hnAAmA0kAPsA644NL+ZPQOcCiSbWS5wm7v/JVb1xtP6HQVMnpPFP9fv4qReydx9fn+6tmka77JEpI6z0AlEtUNmZqYvXbo03mVErbiklMc/XM8fXl9Lw/r1uPWcPvw4s4sG1xORamNmy9w9M1KbrqSOkxVb8rlp7nKycvM5o08H7jyvHx1aNo53WSIi/6aAqGb7C0t48K21/Pn99RzTtAF/uuR4zunfSVsNIlLjKCCq0fufb2fKvGw27trHRUO6ctPZx2lwPRGpsRQQ1WBXQSF3vrySuZ9upkdyM565ajgjeraNd1kiIuVSQMSQu/PCZ5u54+VV7NlfxHWn9eKakb00TIaIJAQFRIxs3LmPKS8s5/3Pd3BCamvuPn8AGR1bxLssEZGoKSCqWHFJKX/5YD1/fHMt9evVY9qYvlw6rBv1dMGbiCQYBUQVysrdzeQ5y1mZt4cz+nRg2pi+dGrVJN5liYgcEQVEFSg4WMwDb6zliQ/Xk9y8ETMuPYFR/TrFuywRkaOigDhKb6/Zxi3zstm8ez8/HZbKpLN707KxTl0VkcSngDhC2/ce5I6XVzL/X1vo1b45z189giG6w5uI1CIKiEpyd55flstdr6xif2EJN5x+LFef2oNG9XXqqojULgqISli/o4Cb5y7n43U7GZrWht+d349e7XXqqojUTgqIKBQWl/I/76/jobc+p1H9etx9fn8uzOyqU1dFpFZTQFTg041fM3nOctZs3cvo/h2Z+qO+tNeoqyJSByggDuObg8X8/rU1PPXxl3Rs2Zj/uSyTM/p0iHdZIiLVRgERwRsrt/LbF7P5as8BfjYijd+clUHzRvpViUjdUi+Wb25mo8xsjZnlmNnkCO1mZg8H7VlmdkK088bC1j0H+OXTy7hq1lJaNm7AnP/6HlPP7atwEJE6KWaffGaWBEwHzgBygSVmNt/dV4Z1OxtIDx7DgEeBYVHOW2VKSp2//3MD9y1cw8GSUm48K4MJp/SgQVJM81NEpEaL5VfjoUCOu68DMLNngTFA+If8GGCWh26MvcjMWptZJyAtinmrRP6+In72xGI+27Sbk3olc+d5/UhLblbVixERSTixDIgUYFPYdC6hrYSK+qREOS8AZjYBmACQmppa6SJbNqlPt7ZNufx7aYwZ1Fm3/hQRCcQyICJ90nqUfaKZN/Si+0xgJkBmZmbEPuUxMx666PjKziYiUuvFMiByga5h012ALVH2aRjFvCIiEkOxPAq7BEg3s+5m1hC4CJhfps984LLgbKbhQL6750U5r4iIxFDMtiDcvdjMrgVeA5KAx919hZldHbTPABYAo4EcYB9wRXnzxqpWERH5LgudQFQ7ZGZm+tKlS+NdhohIwjCzZe6eGalNJ/qLiEhECggREYlIASEiIhEpIEREJKJadZDazLYDG45g1mRgRxWXU9NpnesGrXPdcDTr3M3d20VqqFUBcaTMbOnhjuLXVlrnukHrXDfEap21i0lERCJSQIiISEQKiJCZ8S4gDrTOdYPWuW6IyTrrGISIiESkLQgREYlIASEiIhHVqYAws1FmtsbMcsxscoR2M7OHg/YsMzshHnVWpSjW+afBumaZ2UdmNjAedValitY5rN8QMysxs3HVWV8sRLPOZnaqmX1mZivM7N3qrrGqRfF/u5WZvWRm/wrW+Yp41FlVzOxxM9tmZtmHaa/6zy93rxMPQsOGfwH0IHRDon8Bfcr0GQ28SuiOdsOBf8a77mpY5+8BxwTPz64L6xzW7x+EhpwfF++6q+HfuTWhe7qnBtPt4113NazzzcC9wfN2wC6gYbxrP4p1PgU4Acg+THuVf37VpS2IoUCOu69z90LgWWBMmT5jgFkesghobWadqrvQKlThOrv7R+7+dTC5iNDd+xJZNP/OANcBc4Bt1VlcjESzzpcAc919I4C7J/p6R7PODrSw0I3mmxMKiOLqLbPquPt7hNbhcKr886suBUQKsClsOjd4rbJ9Ekll1+dKQt9AElmF62xmKcBYYEY11hVL0fw7HwscY2bvmNkyM7us2qqLjWjW+U/AcYRuV7wc+JW7l1ZPeXFR5Z9fsbwndU1jEV4re45vNH0SSdTrY2YjCQXESTGtKPaiWecHgUnuXhL6cpnwolnn+sBg4AdAE+BjM1vk7mtjXVyMRLPOZwGfAacBPYE3zOx9d98T6+LipMo/v+pSQOQCXcOmuxD6ZlHZPokkqvUxswHAn4Gz3X1nNdUWK9GscybwbBAOycBoMyt29xeqp8QqF+3/7R3uXgAUmNl7wEAgUQMimnW+ArjHQzvoc8xsPdAbWFw9JVa7Kv/8qku7mJYA6WbW3cwaAhcB88v0mQ9cFpwNMBzId/e86i60ClW4zmaWCswFxifwt8lwFa6zu3d39zR3TwNmA79M4HCA6P5vvwicbGb1zawpMAxYVc11VqVo1nkjoS0mzKwDkAGsq9Yqq1eVf37VmS0Idy82s2uB1widAfG4u68ws6uD9hmEzmgZDeQA+wh9A0lYUa7zb4G2wCPBN+piT+CRMKNc51olmnV291VmthDIAkqBP7t7xNMlE0GU/853AE+a2XJCu18muXvCDgNuZs8ApwLJZpYL3AY0gNh9fmmoDRERiagu7WISEZFKUECIiEhECggREYlIASEiIhEpIEREElRFA/hF6P8TM1sZDF7494r6KyBEKmBmX5pZcpyWfX1w3YJIJE8Co6LpaGbpwE3Aie7eF7i+onkUECI12/WAAkIiijSAn5n1NLOFwZhb75tZ76DpKmD6ocE5oxmwUQEhEsbMLjWzxcF9Ex4zs6Ro2s3sGzO7N/ijfNPMhgYD460zs3ODPklmdr+ZLQnG6/9F8PqpQd/ZZrbazJ4Orob9b6Az8LaZvR3M/6SZZZvZcjO7obp/P5IQZgLXuftg4DfAI8HrxwLHmtmHZrbIzCrc8qgzV1KLVMTMjgMuJLQJXmRmjwA/jaJ9FtAMeMfdJ5nZPOBO4AygD/AUoWEQriQ0/MEQM2sEfGhmrwdvfzzQl9DYOR8Gy3jYzH4NjHT3HWY2GEhx935BPa1j+xuRRGNmzQnd4+X5sIEoGwU/6wPphK7G7gK8b2b93H334d5PASHyHz8gNOLpkuCPqwnfvl9Eee2FwMLg+XLgYBAiy4G04PUzgQH2nzvYtSL0B1sILHb3XAAz+yyY54My9a0DepjZ/wNeAV5H5NvqAbvdfVCEtlxgkbsXAevNbA2h/39LynszEQkx4Cl3HxQ8Mtx9apTtRf6fcWtKgYMAwf0H6ofNf13Y/N3d/dCH/MGw5ZQQ4ctbsO94IPAOcA2hEXhF/i0Yyny9mf0Y/n0b0kO3EX4BGBm8nkxol1O5gxcqIET+4y1gnJm1BzCzNmbWrRLtFXkN+C8zaxDMf6yZNatgnr1Ai6B/MlDP3ecAtxK6/aTUYcEAfh8DGWaWa2ZXEtrteaWZ/QtYwX/utPcasNPMVgJvAzdWNLy/djGJBNx9pZndArxuZvWAIkLf1Ctq3xDlIv5MaNfRJxbaR7UdOK+CeWYCr5pZHqEzmp4Ilg2hUxalDnP3iw/T9J0D0MEW7q+DR1Q0mquIiESkXUwiIhKRAkJERCJSQIiISEQKCBERiUgBISIiESkgREQkIgWEiIhE9P8BDxHV+2hYG60AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plottimes(sum2)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plottimes(sum3)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "def plottimes2(funclist, lst = [1000, 10000, 100000, 1000000]):\n", " ''' plot the execution time on XY graph '''\n", " fig, ax = plt.subplots() # Create a figure containing a single axes.\n", " ax.set_xlabel('elements') # Add an x-label to the axes.\n", " ax.set_ylabel('execution time') # Add a y-label to the axes.\n", " ax.set_title(\"Complexity\") # Add a title to the axes.\n", " for func in funclist:\n", " data = mapfunctime(func, lst)\n", " x = [arg for val, arg, time in data]\n", " y = [time for val, arg, time in data]\n", " ax.plot(x, y, label=func.__name__)\n", " ax.legend()" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plottimes2([sum1, sum2, sum3])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Big-O Notation\n", "\n", "We want to be able to analyze the efficiency or complexity of algorithms. The functions sum1, sum2, and sum3 all do the same thing: add up the first n integers. We note that sum1 and sum2 each get slower as the input N gets bigger. By contrast, sum3 is just as fast no matter the size of N. sum1 and sum2 are linear with respectt to N, while sum3 is constant. The fact that sum2 is slightly slower than sum1 does not matter. They are both linear. Their execution times are a linear function of the size of N.\n", "\n", "We say that sum1 and sum2 are O(N). That is, their complexity is order N.\n", "\n", "By contrast, sum3 is O(1), which is to say that it is of order constant time.\n", "\n", "Let's define some other functions." ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "def loop1(N):\n", " count = 0\n", " for i in range(N):\n", " for j in range(N):\n", " count += 1\n", " return count" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "def loop2(N):\n", " count = 0\n", " for i in range(N):\n", " for j in range(i):\n", " count += 1\n", " return count" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "def loop3(N):\n", " count = 0\n", " for i in range(N):\n", " for j in range(N):\n", " for k in range(N):\n", " count += 1\n", " return count" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "332 µs ± 417 ns per loop (mean ± std. dev. of 7 runs, 1000 loops each)\n" ] } ], "source": [ "%timeit loop1(100)" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "171 µs ± 232 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n" ] } ], "source": [ "%timeit loop2(100)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "33.8 ms ± 107 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], "source": [ "%timeit loop3(100)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEWCAYAAABxMXBSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deXxU5dXA8d/JRtj3JSTsRiRsIYQQrFVcC7ggSq0gsoigrdZqba2t9q3a9q21atXWagERcANf0Aru1rrUJUDCvmrYZEIIYQuEkP28f9yLDDGQCWQymZnz/Xzmk7n3PnfmPFFzvM997nNEVTHGGGN8FRHoAIwxxgQXSxzGGGNqxRKHMcaYWrHEYYwxplYscRhjjKkVSxzGGGNqxRKHMQ2AiGwXkUvO8DO+LyKb6yomY07GEocJeyIyXkQyRaRQRHJF5B0ROS/QcdWWqv5XVXsf266LZGRMdSxxmLAmIj8HngD+F+gIdAX+AYwOZFzGNGSWOEzYEpGWwEPAbar6mqoeUdUyVV2iqr8UkUYi8oSI7HJfT4hII/fc4SLiEZF7RGSPe6VytYiMEpGvRGS/iPzG67seEJGFIrJARA6LyAoRGXiSuCJE5F4R2SIi+0TkVRFp4x57RkQWerX9s4h8KI7hIuJx97+AkwSXuFdS94jIWyLy0yrftUZErq7r360JbZY4TDgbBsQCr5/k+H1AOpAMDATSgPu9jndyz48H/geYCUwABgPfB/5HRHp6tR8N/B/QBngZ+JeIRFfzvXcAVwMXAJ2BA8DT7rG7gQEiMllEvg9MBSZplbWDVPVG4BvgSlVtpqqPAHPd+ABwE1c88PZJ+m9MtSxxmHDWFtirquUnOX4D8JCq7lHVfOBB4Eav42XAH1W1DJgPtAOeVNXDqroeWA8M8GqfpaoL3faP4ySd9Gq+9xbgPlX1qGoJ8AAwVkSiVLUI54//48CLwE9V1eNjf98AEkUk0d2+EVigqqU+nm8MYInDhLd9QDsRiTrJ8c7ADq/tHe6+b89X1Qr3/VH3Z57X8aNAM6/tncfeqGol4Knyecd0A14XkYMichDYCFTg3INBVZcBWwEBXj1p76pwk9CrwAQRiQDGAS/4er4xx1jiMOHsS6AYZ1ioOrtw/ogf09Xdd7q6HHvj/uFOOMnn7QRGqmorr1esqua4594GNHLPvecU31fd0tdzca6kLgaKVPXL0+uKCWeWOEzYUtUCnHsTT7s3tpuISLSIjBSRR4BXgPtFpL2ItHPbvngGXzlYRK5xr3DuBEqAjGraPQv8UUS6AbjfP9p9fzbwB5zhqhuBe0Qk+STflwd432PBTRSVwGPY1YY5TZY4TFhT1ceBn+Pc9M7H+b/924F/4fyBzgTWAGuBFe6+0/UG8COcm903Ate49zuqehJYDLwvIodxkstQN+G8CPxZVVer6tfAb4AXjs32quJPOInvoIj8wmv/PKA/Z5YETRgTK+RkjP+JyAPAWao6oaa29RDLRGC6qgbdQ46mYbArDmPCiIg0AX4CzAh0LCZ4WeIwJkyIyA9whuPycJ4jMea02FCVMcaYWrErDmOMMbVysgefQkq7du20e/fugQ7DGGOCSlZW1l5VbV91f1gkju7du5OZmRnoMIwxJqiIyI7q9ttQlTHGmFqxxGGMMaZWLHEYY4yplbC4x1GdsrIyPB4PxcXFgQ6lXsXGxpKQkEB0dHVlIIwxpmZhmzg8Hg/Nmzene/fuiEigw6kXqsq+ffvweDz06NEj0OEYY4JU2A5VFRcX07Zt27BJGgAiQtu2bcPuKssYU7fCNnEAYZU0jgnHPhtj6lZYJw5jjAlVRaXlPLB4PQVHq1u5/8xY4gigZs2a1dyolu677z66dOnil882xgSHwpJyJs9ezrwvt5O1Y3+df74ljhBz5ZVXsmzZskCHYYwJkEPFZUx8bilZ3xzgyesHcdE5Hev8OyxxNACqyi9/+Uv69etH//79WbBgwSn3f/zxx5x//vmMGTOGpKQkbr31ViorKwFIT08nLi4uYH0xxgROQVEZE2YtZW1OAU+PT+HKgZ398j1hOx3X24NL1rNh16E6/cykzi343ZV9fWr72muvsWrVKlavXs3evXsZMmQI559/Pl988UW1+wGWLVvGhg0b6NatGyNGjOC1115j7NixddoHY0zw2H+klAmzlpK9p5BnJwzm4j51f6VxjF1xNACfffYZ48aNIzIyko4dO3LBBRewfPnyk+4HSEtLo2fPnkRGRjJu3Dg+++yzAPfCGBMoewtLGDcjgy35hcyclOrXpAF2xQHg85WBv5ysmNapimxVnVZr02yNCU97DhUzftZSPAeKmD15CN87q53fv9OuOBqA888/nwULFlBRUUF+fj6ffvopaWlpJ90PzlDVtm3bqKysZMGCBZx33nkB7oUxpr7lFhzlRzMy2HXwKHOnpNVL0gBLHA3CmDFjGDBgAAMHDuSiiy7ikUceoVOnTifdDzBs2DDuvfde+vXrR48ePRgzZgwA99xzDwkJCRQVFZGQkMADDzwQwJ4ZY/zFc6CIH/0zg72HS3hhahpDe7att+8Oi5rjqampWrWQ08aNG+nTp0+AIjozH3/8MY8++ihvvvnmaZ0fzH03xsA3+4oYNzODw8VlzJs6lOQurfzyPSKSpaqpVffbPQ5jjAkiW/MLGT9zKcXlFbw8LZ1+8S3rPQZLHEFo+PDhDB8+PNBhGGPqWfaew4ybuZTKSuWVaen0iWsRkDgscRhjTBDYtPsQN8xcSkSEMH96OokdmwcsFkscxhjTwK3LKeDG55bSKCqSl6cNpWf7wK5F59dZVSIyQkQ2i0i2iNxbzXERkafc42tEJMXdHysiy0RktYisF5EHvc55QERyRGSV+xrlzz4YY0wgrd55kPEzM2gSE8WCW9IDnjTAj1ccIhIJPA1cCniA5SKyWFU3eDUbCSS6r6HAM+7PEuAiVS0UkWjgMxF5R1Uz3PP+qqqP+it2Y4xpCLJ2HGDy7GW0ahrNyzen06VNk0CHBPj3iiMNyFbVrapaCswHRldpMxqYp44MoJWIxLnbhW6baPcVcvOG63rp86KiIi6//HLOOecc+vbty733fucizxgTJJZu3cfE55bSrnkjFkwf1mCSBvg3ccQDO722Pe4+n9qISKSIrAL2AB+o6lKvdre7Q1uzRaR1dV8uItNFJFNEMvPz88+0L0HjF7/4BZs2bWLlypV8/vnnvPPOO4EOyRhTS19k72Xy88vp1DKW+dPT6dyqcaBDOoE/E0d1iydVvWo4aRtVrVDVZCABSBORfu7xZ4BeQDKQCzxW3Zer6gxVTVXV1Pbt259O/PWmrpZVb9KkCRdeeCEAMTExpKSk4PF4AtYvY0ztffJVPlPmLKdrmybMnz6Mji1iAx3Sd/hzVpUH6OK1nQDsqm0bVT0oIh8DI4B1qpp37JiIzARO7/Fpb+/cC7vXnvHHnKBTfxj5sE9N/bGs+sGDB1myZAk/+9nP6rZfxhi/+XBjHj9+cQVndWjGizcPpU3TmECHVC1/XnEsBxJFpIeIxADXA4urtFkMTHRnV6UDBaqaKyLtRaQVgIg0Bi4BNrnb3lWKxgDr/NiHelHXy6qXl5czbtw47rjjDnr27BmobhljauHddbu59cUszolrzsvTGm7SAD9ecahquYjcDrwHRAKzVXW9iNzqHn8WeBsYBWQDRcAU9/Q4YK47MysCeFVVj11ZPCIiyThDWtuBW844WB+vDPylrpdVnz59OomJidx55511E6Axxq/eXLOLn81fxYCElsy9KY0WsdGBDumU/Poch6q+rapnq2ovVf2ju+9ZN2ngzp66zT3eX1Uz3f1rVHWQqg5Q1X6q+pDXZ97oth2gqlepaq4/+1Af6nJZ9fvvv5+CggKeeOKJQHbJGOOjf63M4Y5XVpLStRUvTB3a4JMG2LLqDUJdLavu8Xj44x//yIYNG0hJSSE5OZlZs2YFuHfGmJP5v8yd3PXqKob2aMvcm9Jo1ig4FvOwZdWDkC2rbkzwe3npN/zm9bV8P7EdM25MpXFMZKBD+g5bVt0YYxqIuV9s53eL13Nh7/Y8M2EwsdENL2mciiWOIGTLqhsTvGb9dyt/eGsjlyZ15O/jB9EoKriSBoR54lDV78xOCnXhMDRpTEP1j4+zeeTdzVzeP44nrk8mOjI4bzMHZ9R1IDY2ln379oXVH1JVZd++fcTGNrwnUY0JZarKk//+mkfe3czo5M48GcRJA8L4iiMhIQGPx0M4rWMFTsJMSEgIdBjGhA1V5bH3v+LvH2VzbUoCj4wdQGREcI90hG3iiI6OpkePHoEOwxgTwlSVP72ziRmfbuX6IV343zH9iQjypAFhnDiMMcafVJUHl2xgzhfbuTG9Gw9e1TckkgZY4jDGmDpXWan89o11vLT0G276Xg9+e0WfkJqIY4nDGGPqUEWl8uvX1vBqpodbL+jFr0b0DqmkAZY4jDGmzpRXVHLPwjW8tjKHOy46i7suPTvkkgZY4jDGmDpRVlHJz19dzZLVu7j70rP56cWJgQ7JbyxxGGPMGSotr+SOV1by7vrd3DvyHG69oFegQ/IrSxzGGHMGSsoruO2lFfx74x5+e0USU88L/Wn+ljiMMeY0FZdVcMsLWXzyVT6/H92XG4d1D3RI9cIShzHGnIajpRXcPG85X2zZx8PX9Of6tK6BDqne+HWxFBEZISKbRSRbRO6t5riIyFPu8TUikuLujxWRZSKyWkTWi8iDXue0EZEPRORr92drf/bBGGOqOlJSzuTnl/Hlln08OnZgWCUN8GPicOuFPw2MBJKAcSKSVKXZSCDRfU0HnnH3lwAXqepAIBkYISLp7rF7gQ9VNRH40N02xph6cbi4jEmzl5G54wB//VEy1w4Ov7Xf/HnFkQZkq+pWVS0F5gOjq7QZDcxza49nAK1EJM7dLnTbRLsv9Tpnrvt+LnC1H/tgjDHfKjhaxoTnlrFq50H+Nm4Qo5PjAx1SQPgzccQDO722Pe4+n9qISKSIrAL2AB+o6lK3TUdVzQVwf3ao7stFZLqIZIpIZritgGuMqXsHjpRyw6wMNuwq4B83pDCqf1ygQwoYfyaO6h6XrFr84qRtVLVCVZOBBCBNRPrV5stVdYaqpqpqavv27WtzqjHGnGBfYQnjZmbwVV4hM25M5bK+nQIdUkD5M3F4gC5e2wnArtq2UdWDwMfACHdXnojEAbg/99RdyMYYc6I9h4u5fkYG2/cd4blJqVx4TrWDHGHFn4ljOZAoIj1EJAa4Hlhcpc1iYKI7uyodKFDVXBFpLyKtAESkMXAJsMnrnEnu+0nAG37sgzEmjO0uKOb6f2aQc/Aoz09O4/uJNnoBfnyOQ1XLReR24D0gEpitqutF5Fb3+LPA28AoIBsoAqa4p8cBc92ZWRHAq6r6pnvsYeBVEZkKfAP80F99MMaEr5yDRxk/M4N9haXMvSmNId3bBDqkBkPCoeZ2amqqZmZmBjoMY0yQ2Lm/iHEzMyg4Wsbcm9JI6Rqej4uJSJaqplbdb0+OG2OMl+17jzB+ZgZHSit4+eZ0+ie0DHRIDY4lDmOMcWXvKWT8zAzKK5VXpqWT1LlFoENqkCxxGGMMsHn3YW6Y5Twu9sq0dHp3ah7giBouSxzGmLC3YdchJjy3lKgI4eVp6ZzVoVmgQ2rQ/LrIoTHGNHRrPQWMm5lBo6gIFtwyzJKGD+yKwxgTtlZ+c4CJs5fRIjaa+dPT6dKmSaBDCgqWOIwxYWn59v1MeX45bZvF8PK0dOJbNQ50SEHDhqqMMWHnyy37mDR7GR2aN2LB9GGWNGrJEocxJqx89vVepsxZRnyrxsy/JZ1OLWMDHVLQsaEqY0zY+GjzHm55IYue7Zry0s1DadusUaBDCkqWOIwxYeGDDXnc9tIKzu7UjBduGkrrpjGBDiloWeIwxoS8d9bm8tNXVtI3viXzbkqjZePoQIcU1OwehzEmpL2xKofbX1nJwC6teHGqJY26YFccxpiQtSjLwy8Xria1exuenzyEpo3sT15dsCsOY0xIWrD8G36xcDXDerVlzhRLGnXJEocxJuS8kLGDXy1ay/mJ7Xlu0hCaxFjSqEs1Jg4R6Sgiz4nIO+52klt9zxhjGpzZn23jt/9axyV9OjBj4mBioyMDHVLI8eWKYw5O+dfO7vZXwJ2+fLiIjBCRzSKSLSL3VnNcROQp9/gaEUlx93cRkY9EZKOIrBeRn3md84CI5IjIKvc1ypdYjDGh75+fbOGhNzcwom8n/nHDYBpFWdLwB18SRztVfRWoBKeWOFBR00luvfCngZFAEjBORJKqNBsJJLqv6cAz7v5y4G5V7QOkA7dVOfevqprsvt72oQ/GmBD3tw+/5k/vbOKKAXH8bfwgYqJsJN5ffPnNHhGRtoACiEg6UODDeWlAtqpuVdVSYD4wukqb0cA8dWQArUQkTlVzVXUFgKoeBjYC8b51yRgTTlSVx9/fzGMffMU1g+J54kfJREda0vAnX367PwcWA71E5HNgHvBTH86LB3Z6bXv47h//GtuISHdgELDUa/ft7tDWbBGptoq8iEwXkUwRyczPz/chXGNMsFFV/vzuZp76TzbXpSbwlx8OJMqSht/V+Bt2/8//AuBc4Bagr6qu8eGzpbqPq00bEWkGLALuVNVD7u5ngF5AMpALPHaSuGeoaqqqprZv396HcI0xwURV+cNbG3n2ky3cMLQrD18zgMiI6v6kmLpW4xw1917FKKC72/4yEUFVH6/hVA/QxWs7AdjlaxsRicZJGi+p6mvHGqhqnldsM4E3a+qDMSa0VFYqDyxZz7wvdzD53O787sokRCxp1BdfrumWAJOBtkBzr1dNlgOJItJDRGKA63GGvLwtBia6s6vSgQJVzRXn34DngI1VE5SIxHltjgHW+RCLMSZEVFYq9/1rLfO+3MH083ta0ggAX56KSVDVAbX9YFUtF5HbcabyRgKzVXW9iNzqHn8WeBvnaiYbKAKmuKd/D7gRWCsiq9x9v3FnUD0iIsk4Q1rbcYbPjDFhoKJSuWfhGhat8HDbhb34xWW9LWkEgKhWve1QpYHIn4EPVfX9+gmp7qWmpmpmZmagwzDGnIHyikru/r/VvLFqF3ddcjZ3XHyWJQ0/E5EsVU2tut+XK44M4HURiQDKcG5oq6q2qOMYjTGmWmUVldw5fxVvrc3llz/ozW0XnhXokMKaL4njMWAYsFZrujwxxpg6VlJewe0vr+SDDXncf3kfbv5+z0CHFPZ8SRxfA+ssaRhj6ltxWQU/fjGLjzbn8+BVfZl0bvdAh2TwLXHkAh+7ixyWHNvpw3RcY4w5bUdLK5j+Qib//Xov/zumP+OHdg10SMblS+LY5r5i3JcxxvhVUWk5U+dkkrFtH4+MHcB1qV1qPsnUmxoTh6o+WB+BGGMMQGFJOVOeX0bWjgM8ft1AxgxKCHRIpoqTJg4ReUJV7xSRJXx3qRBU9Sq/RmaMCTsFR8uY/Pwy1ngKeGrcIK4Y0Lnmk0y9O9UVxwvuz0frIxBjTHg7WFTKxNnL2Jh7iKfHpzCiX6dAh2RO4qSJQ1Wz3LfJqvqk9zG3sNIn/gzMGBM+9h8pZcKspWTvKeTZCYO5uE/HQIdkTsGXtaomVbNvch3HYYwJU/mHSxg3I4Mt+YXMnJRqSSMInOoexzhgPNBDRLwXJ2wO7PN3YMaY0Jd3qJjxMzPYdbCY5ycP4dyz2gU6JOODU93j+ALnGY52nFjz4jDgSz0OY4w5qV0HjzJ+Zgb5h0uYM2UIQ3u2DXRIxkenusexA9iBs9yIMcbUmZ37ixg/K4ODR8qYNzWNwd3aBDokUwu+PABojDF1Zse+I4yfuZTDxWW8ePNQBnZpFeiQTC1Z4jDG1Jst+YXcMHMpxeUVvDwtnX7xLQMdkjkNljiMMfXi67zDjJ+1lMpKZf70dM7pZJUZgpUvNce/BzwAdHPbH6vHYWsbG2N8sjH3EBNmLSUiQpg/PZ3Ejr5UnzYNlS/PcTwHPA6cBwwBUt2fNRKRESKyWUSyReTeao6LiDzlHl8jIinu/i4i8pGIbBSR9e4Dh8fOaSMiH4jI1+7P1r7EYowJjHU5BYybmUF0ZAQLLGmEBF8SR4GqvqOqe1R137FXTSeJSCTwNDASSALGiUhSlWYjgUT3NR14xt1fDtytqn2AdOA2r3PvxSllmwh86G4bYxqgVTsPMn5mBk1jolhwSzo92zcLdEimDviSOD4Skb+IyDARSTn28uG8NCBbVbeqaikwHxhdpc1oYJ46MoBWIhKnqrmqugJAVQ8DG4F4r3Pmuu/nAlf7EIsxpp5l7djPhFlLadkkmgW3pNOtbdNAh2TqiC83x4e6P70LlitwUQ3nxQM7vbY9Xp91qjbxOA8eAiAi3YFBwFJ3V0dVzQVQ1VwR6VDdl4vIdJyrGLp2tQIwxtSnpVv3MWXOcjq2iOXlaUOJa9k40CGZOuRLPY4LT/OzpbqPq00bEWkGLALuVNVDtflyVZ0BzABITU21srfG1JPPs/cyde5y4ls15pVp6XRoERvokEwdq3GoSkRaisjjIpLpvh4TEV8mX3sA77JdCcAuX9uISDRO0nhJVV/zapMnInFumzhgjw+xGGPqwSdf5XPTnOV0a9OU+dOHWdIIUb7c45iNsz7Vde7rEPC8D+ctBxJFpIeIxADXA4urtFkMTHRnV6Xj3IjPFRHBmc21sZra5os5vmLvJOANH2IxxvjZhxvzmDY3k17tm/HK9HTaN28U6JCMn/hyj6OXql7rtf2giKyq6SRVLReR24H3gEhgtqquF5Fb3ePPAm8Do4BsoAiY4p7+PeBGYK3Xd/1GVd8GHgZeFZGpwDfAD33ogzHGj95dt5ufvrKCPnEtmHdTGq2axAQ6JONHviSOoyJynqp+Bt8+EHjUlw93/9C/XWXfs17vFbitmvM+o/r7H7hTgS/25fuNMf63ZPUu7lywigEJLZl7UxotYqMDHZLxM18Sx4+Bue59DQH2Y4WcjDHA6ys93P3qagZ3a83zU9Jo1shWMQoHvsyqWgUMFJEW7natZjcZY0LTq5k7+dWiNaT3aMtzk1NpEmNJI1ycqgLgBFV9UUR+XmU/ANXctDbGhImXlu7gvtfX8f3Edsy4MZXGMZGBDslUJ289tO8DEb7Mg/LdqT7t2GOezat52boBxoSpOZ9v477X13HROR2YOdGSRoOjCls/gRfGwDPnwtfv1/lXnKoC4D/dt/9W1c+9j7k3yI0xYWbWf7fyh7c2cllSR/4+PoWYqLr9P1lzBiorYOMS+PwJ2LUSmnaAi38HXdPr/Kt8GZT8G1B1barq9hljQtjTH2Xzl/c2c3n/OJ64PpnoSEsaDUJZMax+Bb74G+zfAm16whVPwMBxEO2fBzBPdY9jGHAu0L7KfY4WOM9lGGPCgKry5Idf88S/v2Z0cmce++FAoixpBF5xASx/DpY+C4V50HkQ/HAu9LkSIvz7J/pUVxwxOPcyonDuaxxzCBjrz6CMMQ2DqvLo+5t5+qMtXJuSwCNjBxAZUe0jVqa+HMqFjH9A5vNQehh6XgjXzIQe54PUzz+bU93j+AT4RETmqOqOeonGGNNgqCp/emcTMz7dyri0Lvzx6v5EWNIInL3Z8MWTsHo+VJZD0tXwvZ9B5+R6D8WXexxzROQ7q8uqak3LqhtjgpSq8uCSDcz5YjsTh3XjgSv7WtIIFE8WfP5X2PgmRDWCQTfCubc79zICxJfE8Quv97HAtTgV+owxIaiyUvntG+t4aek3TD2vB/df3ufb57dMPVGF7A+dGVLb/wuxLeH7d8PQW6FZ+0BH59OT41lVdn0uIp/4KR5jTABVVCq/fm0Nr2Z6uPWCXvxqRG9LGvWpohzWvw6fPwl5a6F5Z7jsjzB4EjRqOLXaa0wcItLGazMCGAx08ltExpiAKK+o5JcL1/D6yhzuuDiRuy5JtKRRX0qLYOWL8OXf4OA30K43jP4H9P8hRDW8lYZ9GarKwqnKJzhDVNuAqf4MyhhTv8oqKrlrwSreXJPL3ZeezU8vTgx0SOGhaD8sn+VMqS3aB12Gwog/w9kj6nyZkLrky1BVj/oIxBgTGKXlldzxykreXb+bX488h1su6BXokEJfgQe+fBqy5kLZEUj8AZx3F3QbFujIfOLLUNVtOOVbD7rbrYFxqvoPfwdnjPGvkvIKbntpBf/euIf/uSKJm86z/0/0qz0bnfsXa//P2e431plS2zEpsHHVki9DVdNU9eljG6p6QESmAZY4jAlixWUV3PJCFp98lc/vr+7HjendAh1S6NrxpTND6qt3IboJDJkGw26DVl0CHdlp8WUQLUK87pCJSCTOU+U1EpERIrJZRLJF5N5qjouIPOUeXyMiKV7HZovIHhFZV+WcB0QkR0RWua9RvsRijDmuqLScqXOX8+nX+fz52v6WNPyhshI2vQ3PXQbPj4Cdy2D4b+Cu9TDy4aBNGuDbFcd7ODW+n8W5SX4r8G5NJ7kJ5mngUsADLBeRxaq6wavZSCDRfQ0FnnF/AswB/g7Mq+bj/6qqj/oQuzGmisKScm6as5zM7ft5dOxArh2cEOiQQkt5qTMU9cVTkL8JWnaFkX+BQRMgpkmgo6sTviSOXwG34JSQFeB9YJYP56UB2aq6FUBE5gOjAe/EMRqY59YezxCRViISp6q5qvqpiHT3uSfGmBodKi5jyvPLWbXzIH/9UTKjk+MDHVLoKDns3OzO+AccyoGO/Zw1pPqOgcjQqsPuy6yqShGZA/xHVTfX4rPjgZ1e2x6OX02cqk08kFvDZ98uIhOBTOBuVT1QtYGITAemA3Tt2rUWYRsTmgqKypj4/DLW5xTw93GDGNk/LtAhhYbCfGc67fJZUHwQup0HVz4JZ11Sb4sO1rca73GIyFXAKtzhKRFJFpHFPnx2db+xqmte+dKmqmeAXkAyToJ5rLpGqjpDVVNVNbV9+8A/om9MIB04Usr4WRls2FXAMxMGW9KoC/u3wVt3wxP94L+PQffz4OYPYcpbkHhpyCYN8G2o6nc4w04fA6jqKh+HkDyA992fBGDXabQ5garmHXsvIjOBN32IxZiwtbewhAmzlrJ17xFmTEzlwt4dAh1ScMtd48yQWv86SFDYioQAABshSURBVCQMvN6ZUtsufB6a9CVxlKtqwWksPbAcSBSRHkAOcD0wvkqbxTjDTvNxhrEKVPWUw1TH7oG4m2OAdadqb0w423OomBtmLWXngSJmTxrCeYntAh1ScFKFbZ86CWPLfyCmOQy7HdJ/Ai3C7+rNl8SxTkTGA5EikgjcAXxR00mqWi4it+PMyooEZqvqehG51T3+LPA2MArIBoqAKcfOF5FXgOFAOxHxAL9T1eeAR0QkGWdIazvOjXtjTBW7C4oZPzOD3YeKeX5yGsN6tQ10SMHnZHW8U2+Cxq0CHV3AiDOh6RQNRJoA9wGXubveBx5S1RI/x1ZnUlNTNTMzM9BhGFNvcg4eZfzMDPYVljJnyhBSu7ep+SRzXFkxrJkPnz91vI73uXf4tY53QyQiWaqaWnW/L1cc3VX1PpzkcezDhuPe8zDGNCw79xdx/YwMDhWX8cLUNAZ1bR3okIJHcQFkzoaMZ5w63nHJ8MM50Ocqv9fxDia+JI5XRWQe8BecQk6PAKlAcKzGZUwY2bb3CONnZlBUWsHLN6fTP6FloEMKDod3H6/jXXLIreM9A3pcENKzo06XL4ljKPBnnPsazYGXgO/5MyhjTO1l7ylk/MwMyiuVV6alk9S5RaBDavgaUB3vYOJL4igDjgKNca44tqlqpV+jMsbUyubdh7lhVgYgzJ+eztkdG061uAapAdbxDia+JI7lwBvAEKAt8E8RGauqY/0amTHGJ+t3FTBh1lKiIyN4eVo6Z3VoFuiQGqYGXsc7mPiSOKaq6rEpSbuB0SJyox9jMsb4aI3nIDc+t4ymMZG8PC2d7u2aBjqkhidI6ngHE59Kx4rIBKCnqj4kIl2B2qxZZYzxgxXfHGDSc8to2SSaV6al06VNaKy8Wme+U8f7bBj9NPS/rkHW8Q4mviSOfwCVwEXAQ8BhYBHO0JUxJgCWb9/P5NnLaNe8ES9PSye+VeNAh9RwVK3jnZAGIx6Gs0c26DrewcSnWVWqmiIiK+HbCoCWro0JkC+37OOmOcuJaxXLyzen06ll+DyQdkrV1vG+E7oOsym1dcynWVVuUSYFEJH2OFcgxph69t+v85k2L5MurZvw0rShdGhuSaP6Ot53QMe+gY0rhPmSOJ4CXgc6iMgfgbHA/X6NyhjzHR9t2sMtL2bRs11TXrp5KG2bNQp0SIEVYnW8g4kvhZxeEpEs4GKc+hlXq+pGv0dmjPnW++t3c9vLK+jdqTkv3DSU1k3DdLS4stJJFJ8/ATuXQuM2Th3vtGnQxNbjqi++XHGgqpuATX6OxRhTjbfX5nLHKyvpG9+SeTel0bJxaJUh9Ul5Kaxb6AxJhWgd72DiU+IwxgTGG6ty+Pmrq0nu0oo5U4bQPDbMkkZJIayY69z0PpQDHfqGbB3vYGKJw5gGamGWh3sWrmZI9zbMnjyEpo3C6D/XwnxY9k9YNjNs6ngHkzD6N9GY4DF/2Tf8+vW1fK9XO2ZOTKVxTJgs6b1/G3z5d+fBvfISOOdyOO8uSPhOSQgTQJY4jGlgXvhyO799Yz0XnN2ef944mNjoMEgaVsc7qPg1cYjICOBJnNKxs1T14SrHxT0+Cqd07GRVXeEemw1cAexR1X5e57QBFgDdcUrHXqeqB/zZD2Pqy3OfbeP3b27gkj4dePqGFBpFhXDSsDreQctvz9+7Dw0+DYwEkoBxIpJUpdlIINF9TQee8To2BxhRzUffC3yoqonAh+62MUHv2U+28Ps3NzCyXyf+ccPg0E0alRWw/l8w8yKYdxXsXufU8b5rHVz2e0saQcCfVxxpQLaqbgUQkfnAaGCDV5vRwDx1Cp9niEgrEYlT1VxV/VREulfzuaOB4e77uTglbH/llx4YU0+e+vBrHv/gK64c2Jm/XjeQqMgQXFOpujreV/wVBo4PqzreocCfiSMe2Om17cGpJlhTm3gg9xSf21FVcwFUNVdEOlTXSESm41zF0LVr19pFbkw9UVUe/+Ar/vafbK4ZFM8jYweEXtKwOt4hx5+Jo7o5c3oabU6Lqs4AZgCkpqbWyWcaU5dUlYff3cQ/P9nKdakJ/OmaAURGhNBUU6vjHbL8mTg8gPeiMQnArtNoU1XeseEsEYkD9pxxpMbUM1Xl929uZPbn27hhaFd+P7ofEaGSNKyOd8jzZ+JYDiSKSA8gB7geGF+lzWLgdvf+x1Cg4Ngw1CksBiYBD7s/36jTqI3xsy35hTz9UTavrchh8rnd+d2VSUgo/B+41fEOG35LHKpaLiK3A+/hTMedrarrReRW9/izwNs4U3GzcabjTjl2voi8gnMTvJ2IeIDfqepzOAnjVRGZCnwD/NBffTCmrhQUlbFkzS4WrfCw8puDRAj8ZHgvfvmD3sGdNKqt4/1zt453tbcfTQgQZ0JTaEtNTdXMzMyaGxpTh8orKvnv13tZuMLDBxvyKC2v5OyOzRg7OIGrk+Pp0CKIZxJVlMOGf8FnTxyv4z3sJzB4stXxDiEikqWq33ls354cN6aObd59mEUrPLy+Mof8wyW0bhLN+LSuXJuSQL/4FsF9hVFaBKtegi/+Bgd3WB3vMGWJw5g6cOBIKYtX72Jhloe1OQVERQjDe3dg7OAELjqnAzFRQT7Ftto63n+yOt5hyhKHMaeprKKSjzfnsyjLw4eb8iirUJLiWvDbK5IYndyZdqFQoc/qeJtqWOIwppY27DrEwiwPb6zKYd+RUto1i2HisO5cm5JAUucWgQ6vbnjX8VaF/j+0Ot7mW5Y4jPHB3sIS/rUyh0UrctiYe4joSOGSPh25NiWBC3q3JzpUnvauto73T6CVrb5gjrPEYcxJlJZX8p9NeSzM8vDx5nzKK5UBCS15aHRfrhzQOXTqfldbx/vXkDbd6nibalniMMaLqrI2p4BFWR7eWL2Lg0VldGjeiKnf78HYlAQSO4bQVNNq63g/4tbxbhro6EwDZonDGGDPoWJeX5nDohUevsorJCYqgsuSOjJ2cALnndUutBYetDre5gxZ4jBhq7isgg825LFohYdPv8qnUiGlayv+OKYfVwzoTMvGIfZH1Op4mzpiicOEFVVl5c6DLMrysGT1Lg4VlxPXMpYfD+/FNSkJ9GrfLNAh1j2r423qmCUOExZyC47y2gpnKGpr/hFioyMY2S+Oa1MSGNarbWgtZ36M1fE2fmKJw4Sso6UVvLd+N4tWePgsey+qkNa9Dbee34uR/TvRPDbEhqLgJHW8b3PreHcOdHQmRFjiMCFFVcnccYCFmR7eWptLYUk5Ca0b89OLErk2JZ5ubUN0tlBlBWx601l0cNcKaNoBLv4fSJ0KjVsFOjoTYixxmJCwc38Rr63I4bWVHnbsK6JJTCSj+jtDUUN7tAmdIklVVa3j3bqH1fE2fmeJwwStIyXlvLNuNwuzdpKxdT8A5/Zqyx0XJTKiXyeaNgrhf72tjrcJoBD+L8uEospKJWPbPhZl5fDOulyKSivo1rYJd196NmNS4klo3STQIfqX1fE2DYAlDhMUduw7wqIsD4tW5JBz8CjNG0Vx1cDOjB2cwOBurYO7xoUvrI63aUD8mjhEZATwJE7p2Fmq+nCV4+IeH4VTOnayqq441bki8gAwDch3P+Y3qvq2P/thAuNwcRlvrcll0QoPy7cfQATOO6sd94zozWVJnWgcEwZDMt51vCNjnOVAzv2p1fE2AeW3xCEikcDTwKWAB1guIotVdYNXs5FAovsaCjwDDPXh3L+q6qP+it0ETkWl8sWWvSzM8vDe+t0Ul1XSq31T7hnRmzGD4olr2TjQIfqf1fE2DZw/rzjSgGxV3QogIvOB0YB34hgNzFOn8HmGiLQSkTiguw/nmhCyJb+QRVlOudXcgmJaxEYxdnAC16YkkNylVegPRUH1dbwv+4PV8TYNjj8TRzyw02vbg3NVUVObeB/OvV1EJgKZwN2qeqDql4vIdGA6QNeuVkugISooKmPJml0sWuFh5TcHiYwQzk9sx/2XJ3Fxnw7ERofBUBRYHW8TdPyZOKr7X0T1sc2pzn0G+L27/XvgMeCm7zRWnQHMAEhNTa36vSZAyisq+W+2MxT1wYY8Sssr6d2xOfeN6sPoQZ3p0DyMnj2wOt4mSPkzcXiALl7bCcAuH9vEnOxcVc07tlNEZgJv1l3Ixl++yjvMoiwPr63MIf9wCa2bRDM+rStjByfQt3OL8BiKKj7klGTdsx52rYS1i9w63pc5iw5aHW8TJPyZOJYDiSLSA8gBrgfGV2mzGGfYaT7OUFSBquaKSP7JzhWROFXNdc8fA6zzYx/MGThwpJTFq3exMMvD2pwCoiKEC8/pwLUpCVx0TgdiokL0/6oryp2nuPPWQd4GyFvvJIuD3xxvE9Mc+lzhTKm1Ot4myPgtcahquYjcDryHM6V2tqquF5Fb3ePPAm/jTMXNxpmOO+VU57of/YiIJOMMVW0HbvFXH0ztlVVU8vHmfBZlefhwUx5lFUpSXAv+54okrkruTLtmjQIdYt1RhcI9ToLY4yaIvPWQvxkqSpw2EumsRhufCimTnCTRsS+07GJXFyZoiTOhKbSlpqZqZmZmoMMIaRt2HWJhloc3VuWw70gp7ZrFMDo5nmtTEkjq3CLQ4Z250iLI33jiFUTeeufexDHNOkHHJCcxdHATRLuzbc0oE7REJEtVv1O4xZ4cN6dtb2EJ/1qZw6IVOWzMPURMZAQX93GGoi7o3Z7oYCy3WlkJB7adeAWRtx72b+Xb+RnRTaD9OdB71PEriA59oWnbgIZuTH2xxGFqpbS8kv9symNhloePN+dTXqkMTGjJQ6P7cuWAzrRuGkTTR4v2H08Mx64g9mxyblgDIM4T2h2TYMB10MG9mmjd3RYSNGHNEoepkaqyNqeARVke3li9i4NFZXRo3oip3+/B2JQEEjs28IfTyktg71cnXkHs2QCHc4+3adzGSQopE48PN7U/B2JCtH6HMWfAEoc5qT2Hinl9pVNu9au8QmKiIvhB305cmxLPeWe1I6qhDUWpQoHnxCuIvA1O0tAKp01kDLTvDT2HH7+C6NgXmnW0m9XG+MgShzlBcVkFH2zIY9EKD59+lU+lQkrXVvzvmP5cPiCOlo0bSLnV4gLnmYhjU173bHB+lhQcb9Oyq5MUzhl1/D5E214Q2UD6YEyQssRhUFVW7jzIoiwPS1bv4lBxOXEtY/nx8F5ck5JAr/bNAhdcRTnsy64y5XUDFHg9E9GopTO81H+s183qPs7igMaYOmeJI4zlFhzltRXOUNTW/CPERkcwsp9TbnVYr7ZE1me5VVWnkl3Vh+byN0NFqdMmIgraJkKXNEidDB37OcNNLRNsmMmYemSJI8wcLa3gvfW7WbTCw2fZe1GFtB5tuPX8Xozs34nmsfUwjFN6xJm9tGf9iTesj+4/3qZ5nHPl0PNCJ0F0THKeiYgKoQcIjQlSljjCgKqSueMACzM9vLU2l8KSchJaN+aOixK5NiWBrm39VG61sgIObP/ulNf92zjhmYgOSc7yG8euIDr2hSZt/BOTMeaMWeIIYZ4DRd8ORe3YV0STmEhG9Y9j7OAE0rq3IaIuh6KO7PvuFUT+JigrchuIc2O6Yz8YcP3xKa+tuttKsMYEGUscIeZISTnvrNvNoiwPX251lsM4t1db7rgokRH9OtG00Rn+Iy8rhr2b3fsQ647PZircfbxNk3ZOUhg82b1RneQ+E+GnKxtjTL2yxBECKiuVjG37WJSVwzvrcikqraB72ybcfenZjEmJJ6H1afzBVnVWc92z4cQb1vuyvZ6JaAQdzoFeF7mzmZKcKworb2pMSLPEEcR27DvCoiwPi1bkkHPwKM0bRTE6uTPXpiQwuFtr32tcFBdUuYJY7zwjUXLoeJtW3ZzkkHSVex+in7McR6T9K2RMuLH/6oPM4eIy3l6by8IsD8u3H0AEzjurHfeM6M0P+nY6dbnVijL3mYgqS28UeFXpjW3pPCg34EfHryA69LGa18aYb1niCAIVlcoXW/ayKMvDu+t3U1xWSa/2TblnRG/GDIonrmXjE09QhcO7q1l6o8ozEe16Q9d06DjVXQY8CVrE2zMRxphTssTRgG3JL2RRlofXV+aQW1BMi9goxg5O4NqUBJK7tHKGokoKwZN54hVE3jo4euD4B7WId4aXzrr4+JPVbRMhKohWsjXGNBiWOBqYgqIylqzZxaIVHlZ+c5DICOGCs9tz/6jeXNLxCI32bYQtS+ALN1Ec2M63z0TENHOGlZJGHy8k1KGPPRNhjKlTfk0cIjICeBKn/OssVX24ynFxj4/CKR07WVVXnOpcEWkDLAC645SOvU5VD9CAFZdVUHC0jIKjZRwsKvN6X8qho2UcdLf3FZaybPt+mpUf5NK2e7mn/0GSYzw0PrAZlmyC8qPOB0oEtOkFcQMhefzxKa+tutkzEcYYv/Nb4hCRSOBp4FLAAywXkcWqusGr2Ugg0X0NBZ4BhtZw7r3Ah6r6sIjc627/yl/9OKa8opJDxeXOH/zCIxQWFlJ4pJCiI4UcOXKE4qNHKC46QmlxEWUlzquipIjy0mKiKkuIpZRGlBErpd++by2lxFFK08hymkWU0zSilC6xeTQr3w9HgK+Bpu2dxJB60/Epr+3PgejGNYVsjDF+4c8rjjQgW1W3AojIfGA04J04RgPz1Cl8niEirUQkDudq4mTnjgaGu+fPBT7GT4nji9n3kLBzCdGVJcS4f+y7UEoPqfT9QyLdl6syIhqNjIXoWCQqFolpjETFQlQsRLeElinHryA69rVnIowxDY4/E0c84DXPEw/OVUVNbeJrOLejquYCqGquiFT7l1VEpgPTAbp27XpaHYhu1Zl9B8+B6FgiohsTFdOYqEZNiI5tQkyjJjRq3JTYJk1p3LgpUY0aQ1RjiHaTQFSsc1UQ1eiE/RFWctQYE+T8mTiqm9OpPrbx5dxTUtUZwAyA1NTUWp17zJBr7gTuPJ1TjTEmZPnzTqoH6OK1nQDs8rHNqc7Nc4ezcH/uqcOYjTHG1MCfiWM5kCgiPUQkBrgeWFylzWJgojjSgQJ3GOpU5y4GJrnvJwFv+LEPxhhjqvDbUJWqlovI7cB7OLeHZ6vqehG51T3+LPA2zlTcbJzpuFNOda770Q8Dr4rIVOAb4If+6oMxxpjvEmdCU2hLTU3VzMzMQIdhjDFBRUSyVDW16n57WswYY0ytWOIwxhhTK5Y4jDHG1IolDmOMMbUSFjfHRSQf2FGLU9oBe/0UTkMWjv0Oxz5DePY7HPsMZ9bvbqravurOsEgctSUimdXNJAh14djvcOwzhGe/w7HP4J9+21CVMcaYWrHEYYwxplYscVRvRqADCJBw7Hc49hnCs9/h2GfwQ7/tHocxxphasSsOY4wxtWKJwxhjTK1Y4qhCREaIyGYRyXZrmocEEekiIh+JyEYRWS8iP3P3txGRD0Tka/dna69zfu3+HjaLyA8CF/2ZEZFIEVkpIm+62+HQ51YislBENrn/zIeFer9F5C733+11IvKKiMSGYp9FZLaI7BGRdV77at1PERksImvdY0+JSHUF9KqnqvZyXzhLuG8BegIxwGogKdBx1VHf4oAU931z4CsgCXgEuNfdfy/wZ/d9ktv/RkAP9/cSGeh+nGbffw68DLzpbodDn+cCN7vvY4BWodxvnHLT24DG7varwORQ7DNwPpACrPPaV+t+AsuAYTgVV98BRvoag11xnCgNyFbVrapaCswHRgc4pjqhqrmqusJ9fxjYiPMf22icPzK4P692348G5qtqiapuw6mZkla/UZ85EUkALgdmee0O9T63wPnj8hyAqpaq6kFCvN849YUai0gU0ASnamjI9VlVPwX2V9ldq3661VNbqOqX6mSReV7n1MgSx4nigZ1e2x53X0gRke7AIGAp0FGdqou4Pzu4zULld/EEcA9Q6bUv1PvcE8gHnneH6GaJSFNCuN+qmgM8ilPcLRenmuj7hHCfq6htP+Pd91X3+8QSx4mqG+MLqfnKItIMWATcqaqHTtW0mn1B9bsQkSuAPaqa5esp1ewLqj67onCGMp5R1UHAEZzhi5MJ+n67Y/qjcYZjOgNNRWTCqU6pZl9Q9dlHJ+vnGfXfEseJPEAXr+0EnMvdkCAi0ThJ4yVVfc3dnedetuL+3OPuD4XfxfeAq0RkO86w40Ui8iKh3Wdw+uFR1aXu9kKcRBLK/b4E2Kaq+apaBrwGnEto99lbbfvpcd9X3e8TSxwnWg4kikgPEYkBrgcWBzimOuHOmHgO2Kiqj3sdWgxMct9PAt7w2n+9iDQSkR5AIs7NtKChqr9W1QRV7Y7zz/I/qjqBEO4zgKruBnaKSG9318XABkK7398A6SLSxP13/WKc+3ih3GdvteqnO5x1WETS3d/XRK9zahboGQIN7QWMwplxtAW4L9Dx1GG/zsO5FF0DrHJfo4C2wIfA1+7PNl7n3Of+HjZTixkXDfEFDOf4rKqQ7zOQDGS6/7z/BbQO9X4DDwKbgHXACzgziUKuz8ArOPdxynCuHKaeTj+BVPd3tQX4O+5KIr68bMkRY4wxtWJDVcYYY2rFEocxxphascRhjDGmVixxGGOMqRVLHMYYY2rFEocxZ0BEtotIuwB9950i0iQQ323CmyUOY4LXnTiL+RlTryxxGOMjEZkgIstEZJWI/FNEIn05LiKFIvJnEckSkX+LSJqIfCwiW0XkKrdNpIj8RUSWi8gaEbnF3T/cbXustsZL4rgDZ02mj8SpsxIpInPcWhRrReSu+v79mPBhicMYH4hIH+BHwPdUNRmoAG7w8XhT4GNVHQwcBv4AXAqMAR5y20zFWdF1CDAEmOYuEQHOSsZ34tRW6Ol+x1M4awtdqKoX4jwpHq+q/VS1P/C8H34NxgDOKprGmJpdDAwGlruF0hpzfCG5mo6XAu+679cCJapaJiJrge7u/suAASIy1t1uibOuUCnO2kIeABFZ5Z7zWZX4tgI9ReRvwFvA+2fWXWNOzhKHMb4RYK6q/vqEnSKTT3XcVabH1/apBEoAVLXSLTp07Pyfqup7VT5/+LH2rgqq+e9WVQ+IyEDgB8BtwHXATT73zphasKEqY3zzITBWRDrAtzWeu9XieE3eA37sLn2PiJztFl86lcM4ZYBxZ3ZFqOoi4Lc4y6gb4xd2xWGMD1R1g4jcD7wvIhE4K5Pe5sPxHT5+xSycIagV7jLX+dRcynMG8I6I5OLcA3ne/W6A6q58jKkTtjquMcaYWrGhKmOMMbViicMYY0ytWOIwxhhTK5Y4jDHG1IolDmOMMbViicMYY0ytWOIwxhhTK/8PLNjVymTWevAAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plottimes2([loop1, loop2], [10, 100, 500, 1000])" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plottimes2([sum1, sum2, sum3, loop1, loop2], [10, 20, 30])" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "def plottimeslogy(funclist, lst = [1000, 10000, 100000, 1000000]):\n", " ''' plot the execution time on XY graph '''\n", " fig, ax = plt.subplots() # Create a figure containing a single axes.\n", " ax.set_xlabel('elements') # Add an x-label to the axes.\n", " ax.set_ylabel('execution time') # Add a y-label to the axes.\n", " ax.set_title(\"Complexity\") # Add a title to the axes.\n", " ax.set_yscale('log')\n", " for func in funclist:\n", " data = mapfunctime(func, lst)\n", " x = [arg for val, arg, time in data]\n", " y = [time for val, arg, time in data]\n", " ax.plot(x, y, label=func.__name__)\n", " ax.legend()" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plottimeslogy([sum1, sum2, sum3])" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plottimeslogy([loop1, loop2, loop3],[10,20,30,100])" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEWCAYAAAB42tAoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOydeXzU1bn/3yeTmSSTfSELCSEJe1hVxK0i4gKooKit4nJtry3XLrb353Vrxb3Wre1Vq7Z61VKtVtxaRcGlKtJaWgGVouxLgEBCQvZ9tvP74ztJZpJMMklmMpPJ8+5rXsl858z5Pl9Dz+ec5zzPc5TWGkEQBEHwRVSoDRAEQRDCGxEKQRAEoVdEKARBEIReEaEQBEEQekWEQhAEQegVEQpBEAShV0QoBCEEKKVKlFJnD7KP05VSOwNlkyD4QoRCGHEopa5QSm1SSjUqpcqUUmuVUt8ItV39RWv9N631pPb3gRAfQegJEQphRKGUugF4BPgFkAXkA08CF4bSLkEIZ0QohBGDUioZuAf4odb6Da11k9barrVerbW+SSkVo5R6RCl1xP16RCkV4/7uPKVUqVLqZqVUhXslcpFS6jyl1C6lVLVS6mce97pLKfWaUmqVUqpBKfW5UmqmD7uilFK3KqX2KqWqlFKvKKXS3J/9Vin1mkfbB5VSHyqDeUqpUvf1FzBEb7V7pXSzUuodpdT1Xe71b6XURYH+bytENiIUwkjiFCAW+LOPz28DTgZmATOBOcAKj8+z3d/PBe4A/g+4CjgBOB24QylV5NH+QuBVIA14CfiLUsrcw31/DFwEnAGMBmqAJ9yf/Q8wQyn1baXU6cC1wDW6S+0drfXVwEFgsdY6QWv9EPAHt30AuIUqF1jj4/kFoUdEKISRRDpwTGvt8PH5lcA9WusKrXUlcDdwtcfnduA+rbUdeBnIAB7VWjdorb8GvgZmeLTfrLV+zd3+1xgic3IP9/0v4DatdanWug24C7hUKRWttW7GGOx/DfwRuF5rXern874JTFBKTXC/vxpYpbW2+fl9QQBEKISRRRWQoZSK9vH5aOCAx/sD7msd39daO92/t7h/HvX4vAVI8Hh/qP0XrbULKO3SXztjgT8rpWqVUrXAdsCJsYeC1vozYB+ggFd8Pl0X3KLzCnCVUioKWAa84O/3BaEdEQphJLEBaMVw8/TEEYxBu51897WBMqb9F/dAneejv0PAIq11iscrVmt92P3dHwIx7u/e3Mv9eioF/QeMldJZQLPWesPAHkUYyYhQCCMGrXUdxt7CE+6NaKtSyqyUWqSUegj4E7BCKTVKKZXhbvvHQdzyBKXUxe4VzH8DbcA/e2j3O+A+pdRYAPf9L3T/PhH4OYb76WrgZqXULB/3Owp47pHgFgYX8CtkNSEMEBEKYUShtf41cAPGJnUlxmz+R8BfMAbkTcC/ga3A5+5rA+VN4DKMzemrgYvd+xVdeRR4C3hfKdWAISYnuQXmj8CDWustWuvdwM+AF9qjsbpwP4bQ1SqlbvS4/jwwncGJnjCCUXJwkSAEHqXUXcB4rfVVfbUdAlv+A1iutR52SYVCeCArCkGIYJRSVuAHwNOhtkUYvohQCEKEopRagOFeO4qRxyEIA0JcT4IgCEKvyIpCEARB6BVfiUfDmoyMDF1QUBBqMwRBEIYVmzdvPqa1HtX1ekQKRUFBAZs2bQq1GYIgCMMKpdSBnq5HlOtJKbVYKfV0XV1dqE0RBEGIGCJKKARBEITAE1FC4T5XYHlycnKoTREEQYgYImqPQim1GFg8fvz4bp/Z7XZKS0tpbW0desNCTGxsLHl5eZjNPR2FIAiC0DsRJRS9UVpaSmJiIgUFBSilQm3OkKG1pqqqitLSUgoLC0NtjiAIw5AR43pqbW0lPT19RIkEgFKK9PT0EbmSEgQhMESUUPTFSBOJdkbqcwuCEBgiSigkPFYQhJFIS2MDezd/xvqXVtJcVxvw/iNqj0JrvRpYPXv27O+F2pah4vHHH+eRRx5h7969VFZWkpGREWqTBEEIIlpr6iuPcnjHNuO1cxtVpQcBiDJFM3b6LMZO93W21cCIKKHoLeopUjnttNO44IILmDdvXqhNEQQhCLicTioP7Ofwzk5haKqpBiDGGs/oiZOZ8o15jJ40hexxEzDHxAbchogSinBfUTQ1NfGtb32L0tJSnE4nt99+O7fccgubNm0iIyODTZs2ceONN7Ju3Truuusu9u/fT1lZGbt27eLXv/41//znP1m7di25ubmsXr0as9nMcccdF+rHEgQhgNhaWyjbtdMQhp3bKNu1A3ubEYySmDGKMcXTyZ08ldxJU0gfk09UlCnoNkWUUPjL3au/ZtuR+oD2WTw6iTsXT+21zbvvvsvo0aN55513AKirq+OWW27x2X7v3r18/PHHbNu2jVNOOYXXX3+dhx56iKVLl/LOO+9w0UUXBfQZBEEYehprqjm8YxtH3MJQUbIP7XKBUozKL2DqvLPInVTM6EnFJGV0q9c3JIxIoQgV06dP58Ybb+SWW27hggsu4PTTT++1/aJFizCbzUyfPh2n08nChQs7+ikpKRkCiwVBCCTa5aL6SGmHC+nwzm3UHS0HINoSQ874iZx00TfJnVRMzsTJxFjjQ2yxQUQJhb97FH3N/IPFxIkT2bx5M2vWrOGnP/0p5557LtHR0bhcLoBuuQ4xMTEAREVFYTabO8Jco6KicDgcQ2u8IAj9xmG3c3Tv7g5ROLJzO62NDQBYk1MYPXEKs849n9zJxWQWjMMUHZ5DcnhaNUDCfY/iyJEjpKWlcdVVV5GQkMDKlSspKChg8+bNLFq0iNdffz3UJgqCMAhaGhs4snO7WxS2Ub53N067HYDU0XmMP/FkcicVkzu5mJTs0cMmxymihCLc2bp1KzfddFPHCuG3v/0tLS0tXHvttfziF7/gpJNO6nefjz32GA899BDl5eXMmDGD8847j2eeeSYI1guC4EnvYaomsorGM2vBBeROLiZ34hSsySkhtnjgROSZ2bNnz9ZdDy7avn07U6ZMCZFFoWekP78gDJbewlQtcVZyJ01htHu1EKww1WCjlNqstZ7d9XpErShGYh6FIAjBwdbaQtnunR2iULZ7J/bWFsAjTNUtDEMVphoqIkoown2PQhCE8KWxptoIUd3hI0z1jPkhD1MNFRElFIIgCP7QEabqIQzDIUw1VIhQCIIQ8URKmGqokP8agiBEHJEaphoqRCgEQRjWjKQw1VAR9kKhlIoHngRswDqt9YshNimsuPLKK9m0aRNms5k5c+bw1FNPydnYQkTTNUz1yM5tNHYJU5182hnDOkw13AiJUCilngMuACq01tM8ri8EHgVMwDNa6weAi4HXtNarlVKrABEKD6688kr++Mc/AnDFFVfwzDPP8P3vfz/EVglC4OgrTDVvBIWphopQrShWAo8Dz7dfUEqZgCeAc4BSYKNS6i0gD9jqbuYcWjMDSzDKjJ933nkd/c+ZM4fS0tIQPqEgDB5/wlRHTyomd9IUkjIyQ23uiCAkQqG1Xq+UKuhyeQ6wR2u9D0Ap9TJwIYZo5AFf0svRrUqp5cBygPz8/N4NWHsrlG/tvU1/yZ4Oix7otUkwy4zb7XZeeOEFHn300cA8jyAMAUaY6mEO7/y61zDV0ZOKGS1hqiEjnPYocoFDHu9LgZOAx4DHlVLnA6t9fVlr/bRSqgxYbLFYTgiqpQMkmGXGf/CDHzB37tw++xSEUNJbmGpcUjK5k4o9wlSLMEXLfls4EE5C0VN8mtZaNwHfCeid+pj5B4tglRm/++67qays5KmnnhqiJxEE/+g1TDUnV8JUhwnhJBSlwBiP93nAkf50EO4lPIJRZvyZZ57hvffe48MPPyQqyqdnThCCTp9hqoUSpjpcCSeh2AhMUEoVAoeBy4Er+tNBuBcFDEaZ8euuu46xY8dyyimnAHDxxRdzxx13BNp0QeiGhKmOHEJSZlwp9SdgHpABHAXu1Fo/q5Q6D3gEIzz2Oa31fQPpX8qMd2ekP78wePoKU82dVCxhqsOcsCozrrVe5uP6GmDNQPsN9xWFIAwnJExVaCecXE+DJtz3KAQhXJEwVaE3IkooZEUhCP4hYapCf4gooZAVhSD0THuY6hG3MEiYqtAfIkooBEHoEqbq3mOQMFVhMESUUIjrSRiJeIWp7tzOkR1fe4WpjpYwVWGQRJRQjETX07XXXsumTZvQWjNx4kRWrlxJQkJCqM0SgohnmOqRXds5smuHVFMVgkpECcVI5H//939JSkoC4IYbbuDxxx/n1ltvDbFVQiDxDlPdTkXJXq8w1eK58w03koSpCkEiooQi3F1PwSgz3i4SWmtaWlpkE3KYo7Wm+nBpR5jqkZ3bqT1aBkiYqhA6Ikoo/HU9PfjZg+yo3hHQe09Om8wtc3yXDIfglRn/zne+w5o1ayguLuZXv/pV4B5KCDoOu52j+/ZweMfXRpjqrh20NtQDnWGqM889j9xJxWQWSpiqEBoiSijCnWCVGf/973+P0+nk+uuvZ9WqVXznO4EttisEjtbGRo7s2t4hDN3CVGefRO6kYkZPKiY1R8JUhfBgRApFXzP/YBGsMuMAJpOJyy67jIcffliEIkzoCFPd6RYGCVMVhikjUihCRaDLjGut2bt3L+PHj0drzerVq5k8eXKQrBf6ojNM1X3+goSpChFCRAlFuG9mB7rMuNaaa665hvr6erTWzJw5k9/+9rdBsl7oioSpCiOFkJQZDzZSZrw7I/35A0FfYaqj3aIgYarCcCWsyowLQrgjYaqC0IkIhSAgYaqC0BsiFMKIRMJUBcF/wl4olFJFwG1Astb60lDbIww/JExVEAZHUIVCKfUccAFQobWe5nF9IfAoxtnYz2itH/DVh9Z6H3CtUuq1YNoqRA4SpioIgSXYK4qVwOPA8+0XlFIm4AngHKAU2KiUegtDNO7v8v3/1FpXBNlGYZjTHqZ6pF0YPMNU0yVMVRAGS1CFQmu9XilV0OXyHGCPe6WAUupl4EKt9f0Yq48BoZRaDiwHyM/PH2g3QSUhIYHGxsaA9nnbbbfx/PPPU1NTE/C+w5WOMNWd2zm8Y5tUUxWEIBOKPYpc4JDH+1LAZ6aZUioduA84Tin1U7egdENr/TTwNBh5FIEzN7xZvHgxP/rRj5gwYUKoTQkKnmGqR9zC0DVMdc6F3yR3soSpCkKwCIVQ9BQ+4nNg11pXAdf51XGYZ2a3o7Xm5ptvZu3atSilWLFiBZdddpnP6+vWreOOO+4gPT2dnTt3MnfuXJ588kmioqI4+eSTQ/04AcWvMNVzFpE7eaqEqQrCEBEKoSgFxni8zwOODKUB5b/4BW3bA1tmPGbKZLJ/9jO/2r7xxht8+eWXbNmyhWPHjnHiiScyd+5c/vGPf/R4HeCzzz5j27ZtjB07loULF/LGG29w6aXDPwjMnzDV0ZOmkDtpqoSpCkKICIVQbAQmKKUKgcPA5cAVgeh4uByF+ve//51ly5ZhMpnIysrijDPOYOPGjT6vJyUlMWfOHIqKigBYtmwZf//734edUBhhqhXG2c4SpioIw4Zgh8f+CZgHZCilSoE7tdbPKqV+BLyHEen0nNb66wDdzy/Xk78z/2Dhq75Wb3W3us6kh8PM2uV0UnmwxF0bScJUBWG4Euyop2U+rq8B1gTz3uHM3Llzeeqpp7jmmmuorq5m/fr1PPzwwzgcjh6v79ixg88++4z9+/czduxYVq1axfLly0P9GN2wt7ZStmdnpzBImKogRARhn5ndH4aL62np0qVs2LCBmTNnopTioYceIjs72+f1HTt2cMopp3DrrbeydetW5s6dy9KlSwG4+eabeemll2hubiYvL4/vfve73HXXXUPyHE21NW430jYJUxWECEbKjA8D1q1bxy9/+UvefvvtAfcx2Of3J0y1vcy2hKkKwvBkRJQZHy7hscMBzzDVI7u2c3jndglTFYQRSkQJxXBxPfWXefPmMW/evKDewztMdTvle3dJmKogCECECYWsKPyja5jqkZ3bOXboANAlTHXSFHInFUuYqiCMcCJKKCJ1RREoSrZ8ztaPP+gxTHXSqXPJnTSF7PETJUxVEAQvIkooBN/YW1tZ++BdWFNSGOMOUx09aQoZ+WMlTFUQhF4RoRgBNNfV0tJQz5ip07noptsxx8qKQRAE/4kKtQGBRCm1WCn1dF1dXahN6ZGEhISA9tfc3Mz555/P5MmTmTp1Krfeemu3Nk211dQfqyTaYmHpLXeKSAiC0G8iSii01qu11suTk5NDbcqQceONN7Jjxw6++OILPv30U9auXQsYG9aN1VU0VFURm5BAXFIy0RZLiK0VBGE4ElFCMVzQWnPTTTcxbdo0pk+fzqpVq3q9vm7duo5s7OLiYq677jpcLhdWq5UzzzwTAIvFwvHHH09paSlaaxqqjtFYU01cYhLJmdkSzioIwoAZkXsUf3tlF8cOBfY0uIwxCZz+rYl+tQ1GmfHa2lpWr17Nj3/8Y+orK2hpqMeanEJieoaIhCAIg6LPFYVSKksp9axSaq37fbFS6trgm9Z/wn2Pop3+lhkHOsqMm0ymjjLj7TgcDpYtW8b1119PekI8LQ31JKSmiUgIghAQ/FlRrAR+D9zmfr8LWAU8GySbBoy/eRT+zvyDRaDLjC9fvpzx48fz7WWX0drYQGJ6OvEpaYExVhCEEY8/exQZWutXABeA1toBOINqVYQzd+5cVq1ahdPppLKykvXr1zNnzhyf14GOMuMul4tVq1bxjW98A4AVK1ZQW1vLnbfcTFtTE0kZo0QkBEEIKP4IRZNSKh33udZKqZOB8PbthDlLly5lxowZzJw5k/nz53uVGe/pOtBRZnzatGkUFhaydOlSSktLue+++/hq61bmnXsu5y69hJdefS3ETycIQqTRZ5lxpdTxwG+AacBXwCjgUq31v4Nv3sAYKWXGnU4HtWVHcNhsJGdmEZuQ6LOP4fz8giAMDQMuM661/lwpdQYwCVDATq21PQg2+kQpdRFwPpAJPKG1fn8o7x+OOB0OasoO47TbScnOkfMfBEEIGv5EPZmA84CzgHOB65VSN/h7A6XUc0qpCqXUV12uL1RK7VRK7VFKdU8p9kBr/Ret9feAbwOX+XvvSGHevHleqwmn3U71kVKcDgcpOaNFJARBCCr+RD2tBlqBrbg3tPvJSuBx4Pn2C27xeQI4BygFNiql3gJMwP1dvv+fWusK9+8r3N8bsThsNmrKDqO1i9Sc0Vhi40JtkiAIEY4/QpGntZ4x0BtordcrpQq6XJ4D7NFa7wNQSr0MXKi1vh+4oGsfyogFfQBYq7X+fKC2DHfsbW3UlB0GIDUnD3NMTIgtEgRhJOCPUKxVSp0b4H2BXOCQx/tS4KRe2l8PnA0kK6XGa61/17WBUmo5sBwgPz8/gKaGB7bWVmrLD6NUFKk5uVK3SRBGMFprHJWV2PaXYNu/D9v+/bTt249t/37yHv8NsZMnB/R+/gjFP4E/K6WiADvGhrbWWicN4r49pQv7DL/SWj8GPNZbh1rrp5VSZcBii8VywiBsCztsLc3UlJcRZTIZImGW86kFYSTgamvDduBAj4LgauwsQ6Ti4rAUFBA3YwZEBb6Enz9C8SvgFGCr7iuW1n9KgTEe7/OAIwHqO2xJSEigsbF/NabampuoLS/DZDaTmjMaU7S3SCxcuJCysjIcDgenn346TzzxBCaTHEQkCMMFrTXOqira9u0zBGHfPtpK9mPbtx/74cPg6twajs7OxlJYQPKSJVgKC7EUFRJTWEh0djYqCALRcV8/2uwGvgqgSABsBCYopQqBw8DlwBWD7TTSjkJtbWykrqIck8ViiISp+5/rlVdeISkpCa01l156Ka+++iqXX355CKwVBKE3tM2G7eBB2vYbIuApCK6Gho52KiYGS2EhsdOmkrx4cacgFBQQFR+aCEd/hKIMWOcuCtjWflFr/Wt/bqCU+hMwD8hQSpUCd2qtn1VK/Qh4DyPS6Tmt9df9Nb6Hey0GFo8fP36wXQUVrTU333wza9euRSnFihUruOyyy7yuozXX/9f3uPSSS9iyYxd3XXEV6enp7Ny5k7lz5/Lkk08SFRVFUpLhAXQ4HNhsNikCKAghRGuNs6bGEIF2Qdi/n7b9+7CXHgZnZ/Wj6MxMLEVFJF1wPjGFRVgKC4kpKiQ6Jyeoq4OB4I9Q7He/LO5Xv9BaL/NxfQ2wpr/99XEvv1YUH698mooD+wJ5azLHFnHmt5f71bavMuMb/raekl07WXTxpVxwyTeJMpl6LTO+YMECPvvsMxYtWuRVelwQhOCg7XZshw71IAj7cXlUr1YWC5aCAmInTyHpvPOIKSzEUliEpbAAU4BPvAwm/mRm3z0UhgSC4bKi6K3M+MUXLqGpuoq8/LGceeaZbN68maSkpI4y40BHmfF2UXjvvfdobW3lyiuv5KOPPuKcc84J5eMJQsTgqKnBtn9/N0GwHTrktTowjcogprCIpIULiSkqdLuLijDn5KAiYM/Qp1AopR7RWv+3Umo1PUQkaa2XBNWyAeDvisLfmX+w6Gm7R2uNraWF1sZGYhMSSM7MAg83Um9lxgFiY2NZsmQJb775pgiFIPQDY3VQiq2kuyA4a2s72imzGUvBWGImTiRxwYJOQSgsxJTou85aJNDbiuIF989fDoUhgWC4rCjmzp3LU089xTXXXEN1dTXr16/nzltv4diMabz06utcf+NNHDtWxfr163n44YfZsWNHR5nxsWPHsmrVKpYvX05jYyMNDQ3k5OTgcDhYs2YNp59+eqgfTxDCEmdtbacIlLjDTPftM1YHDkdHO1NGBjEFBSSee27HvoGlsBBzbm5Yrw601jTX24i1mjGZA7vH4VMotNab3b/O0lo/6vmZUuonwCcBtSQADJeop6VLl7JhwwZmzpyJUoq7VvyMhNgYLv3mt9i+r4RZs2ahlOooM75jx46OMuNbt27tOD+7srKSJUuW0NbWhtPpZP78+Vx33XWhfjxBCBna4cBeWtpdEPbvx1ld3dnQbMYyNp+Y8eNIPOccL0EwJQ0mRSz42Fod1FW0UHO0idqjLdQebaauopnao83YWp1ccvMJZBclB/Se/pQZ/1xrfXyXa19orY8LqCUBZLiUGddaU1dxlNbGBuJTUklIS+8xaslXmfH+EI7PLwgDxVlX5948NvIOOgTh4EGwdxa3NqWldYpAgTvMtKjIWB1E+xPLExqcThf1lS3UVhhC0PGqaKa5ztbZUEFSeiwpmVaSs6ykZFopmjWKhNSBlffpd5lxpdQyjNyGQnfBvnYSgaoBWRFkhovrCUC7XNRWlNPW1ERCWjoJqXIqnSB4op1O7IcPeyWitUcWOas8hqDoaCz5+VgKC0mcf2anIBQWYkpJCd0D9IHWmqZaG7VHmzoFwb0yqD/WinZ1TuLjEs2kZFrJn5pOqlsQkrPiSB4VR7Q5+O6w3iT1Hxg5FBkY2dntNABheWjRcHE9uVwuao+WYWtuJjFjFPHJvf9jnjdvHvPmzRsa4wRhiHE2NBiRRB7lKWz792ErOYD2XB2kpGApKiJh3hnEFBV1bCRb8vJQYVzWpq3ZbriIKrxXBrUVLTjaPPIqzFEkZ1kZNSaRCbOzSMmM61glxMaH9vl626M4ABzAKN8REWitQ56Q5nI6qS0vw9baQtKoTKxJgfUl9kRgk+oFof9opxN7WVnnqsAjEc1ZeayzocmEZcwYLEVFxM+d6yUI0ampoXuAPnDaXdRVeq8K2n+2NHSKnYpShqsoy0ruhFRSsq2kZMaRkmUlPjkGFRWeCbPh66QbAL25nmJjY6mqqiI9ved9gKHA5XRSU3YYh81GSlZ2r0eXBgqtNVVVVcTGxgb9XoLgbGzqWBF45R2UlKBtnb71qORkYgoLSTh9LpbCgk5ByMtDhWllZO3SNNS0UtfD6qChqhXP+Zg1yUJKlpXCmaNIybSSkmWIQVJGHKbo8Mq69oc+N7OHIz1tZtvtdkpLS2ltbQ2JTS6Xi+a6GlxOJ3FJyZgtQ3eWRGxsLHl5eZjDeHkuDB+0y4WjrMy9KvAWBEdFRWfDqCjMY/I6ylO07xtYioowpaaGfHXvi9ZGO7UVzdSUGyJQ5+Eqcto7C/SZY0ykZFmNV2ace3VgvCxxw3MOPuAzsyMFs9lMYWFhSO5dX1nBqz+/jaaaGi66+Xbyp80MiR2C0B9cTU20lZR41Suy7S8xVgceE66oxEQsRYXEn3qqlyCY8/OJCtPVgd3mpM5jA7nuaDM17t/bmjpzKqKiFEmjjNXAmOL0DjdRSpYVa5IlbMUu0PQpFEqp04C7gLHu9u3nURQF17TIoKbsMK/euwJbSzOXrriX0RMlRFUIH7TLhaO8vFsBO9v+Ehzl5Z0No6Iw5+VhKSwg/uSTvfMOQujO7Q2XS9NQ1WqsBsq99w4aq9u82iakxpCcaWX8CVleYpCUHkuUafi5igKNPyuKZ4H/B2wGnH20FTyoPFjCaz9fgXa5+OYdvyCrcFyoTRJGKK7mZmwlJd0K2NlKStAtLR3tohISjI3kk+a4i9cZgmAeOzYsVwdaa1oa7N6byO5X3bEWXI5O17olLrpzEzkrjuRMQwySR8VhiR0xzpUB4c9/nTqt9dqgWxIAwimPonzvbl7/xR1Em81cesf9pOeN6ftLgjAItNY4jh7tsaKpo6yss6FSmHNzDXfRnBO9BMGUkRGWq4P2bORuglDRgq3Fw1UUrUjJtJKaHU/hzAySM61G3kGWldgEc1g+23DAn8zsBzDOjHgD7/MoPg+uaQOnp83soaR0+1f8+cG7iU1I4pu330dKVnbIbBEiD1dLi/t4zP1dTkUrQTc3d7SLslqxFBV5uYkshUVYxuYTFYZRcE6ni4ZjrT2uDpq6ZCMnpsa6I4nijZ/u1UFCWixRYRpiOhwYzGb2Se6fnl/WwPxAGBZplHy5mTd/9QsSM0bxzRU/JzE9I9QmCcMQrTWOispu5yTb9u3DXlZGRyymUphzcrAUFZFywgleghCdOSrsZtBaa5rrbNR6bB7XuVcG9ZUtuDyykWPjze5N5DR3ZFGnqyjaEr7F+SIRf86jOHMoDIkEdm/cwDuPPEha7hguve1erH1kXGXgAQMAACAASURBVAuCq60NW8mB7oKwfz+upqaOdspqJaaggLjjjye50CPvYOxYouLiQvcAPmhrcXjlGXRGFfWQjZxpJT03nnHHjfIKMY1NkHDucMGfqKdk4E5grvvSJ8A9Wus6398aeWz/28esffJ/yS6awMU/vZvYYXR6lRBctNY4KisNF1EXQbAfPoxnplb06BxiCgpJXrrUKxEtOisr7FYHTruLumMt3mUp3GLQUt/pKlIKEtNjScmKZ/SElI6VQUqWlYSU8M1GFjrxx/X0HPAV8C33+6uB3wMXB8soT5RSU4CfYNSc+lBr/duhuG9/+Pdf3+WDZ55gzJRpXHTz7VjirKE2SQgBLpsN+4EDXvWK2n93NTZ2tFNxcVgKC4ibMYPkiy7qFISxY4myhte/He3SNNa2dReDo92zkeOSLKRkxlEwPd3bVZQRF/DzEYShxR+hGKe1vsTj/d1KqS/96Vwp9RxwAVChtZ7mcX0h8CjGJvkzWusHfPWhtd4OXKeUigL+z5/7DiWb3v4zn7zwLIXHzWbxDT8d0oxrYejRWuOsqupWr8i2vwR7aSm4OjN3o7OzsRQWkLxkiVciWnR2NioqvAbO1iaPENOOnIMW6iqacXhkI0fHmEjJjCOrIImJJ2V7rQ5ihmk2stA3/vxlW5RS39Ba/x06EvBa+vhOOyuBx4Hn2y8opUzAE8A5QCmw0V3G3ATc3+X7/6m1rlBKLQFudfcVNhz8agufvPAsE086jfN+fCOmaPGpRgraZsN28GCPiWiu+vqOdiomBkthIbFTi0m+4IJOQSgoICo+PoRP0B2Hzdm9cN1RQxBamzoL13VkI2fGkTcl1Qg3bc9GTh452chCJ/4IxfeBP7j3KhRQDXzbn8611uuVUgVdLs8B9mit9wEopV4GLtRa34+x+uipn7eAt5RS7wAv9dRGKbUcWA6Qn5/vj3mD5p+vv0x8ahqLfvQ/IhLDEK01zpqaHvIO9mEvPQxOj03XzEwsRUUknX9eR+2imKJConNywmp14HJpGqtbO6KKOuoUHW2hoabViFd0E59sFK4bd/woL1dRYkYsJslGFjzwJ+rpS2CmUirJ/b6+j6/0RS5wyON9KZ0huN1QSs3D2A+JAdb0YufTSqkyYLHFYjlhkDb2yeEd2zi0bSvz/uO7RIdhxqrQibbbsR061Jl34JGI5qrrjMlQFguWggJipxSTdN55xr5BQSGWwgJMYRSc0JGN7F4V1LmFoOZoM3WVzd7ZyLFG4bqc8clMycrp3DfIlGxkwX96O+HuKq31H5VSN3S5DoDW+tcDvGdP61afWX9a63XAOn86HsqDi/7151XEJSYx46yFwb6V4CeOmhqPA3A8TkUrLQVHZ/Zu9KhRWAoLSVq0sKOaqaWwEHNODsoUPvH59jZn98Nu3PsGbc0e2cgmRbK7cF3XjeS4RMlGFgZPb1OKdgdrT4cmDKY2eSngWc8iDzgyiP46GKoSHkf37WH/l5v5xuX/gTkMM1wjGW23Yyst7VEQnLW1He2U2YylYCwxEyeSuGCBkYhWVISloABTYvDPAfEXl9NF/bFWr9DS2qNN1B5toam2S+G6tBhSMq1MODHLaxM5MS1GCtcJQaW3E+6ecv/6V631p56fuTe0B8pGYIJSqhA4DFyOcTb3sOFff36FGGs8sxacH2pTIhZnbW3nvkGJRyLawYNeqwNTRgYxBQUknnuuV6kKc25u2KwOtNY019u8SlK0n5HcNRs5xmoUrsubnOodYpoZh1mykYUQ4Y+T8jfA8X5c64ZS6k/APCBDKVUK3Km1flYp9SPgPYxIp+e01l/3y2ofDIXr6dihA+z+7B+cfPFlxFjDK6pluKEdDuylpT0KgrO6urOh2YxlbD4x44pIPPts7xLXSUmhe4Au2Foc3QrWtf9u98hGNkVHkZwZR/roeIqOG9UhBqlZko0shCe97VGcApwKjOqyT5GEMcD3idZ6mY/ra+hlY3qgDIXr6bO/vEp0TAzHLVoStHtEGs76+i7lKdyJaAcPgr0zLNOUloalqJDEs+a7K5oaiWjm3FxUdHhsvDodLurd2cidUUXG++Z678J1SemxpGRayR6XY4SXZlpJzoojMTVWspGFYUVv/++zAAnuNp5O3Xrg0mAaNVCCvaKoLS9jx6frOf78C7EmJQfjFsMW7XRiP3y4WwG7tpISnMeOdTaMjsaSn28IwvwzOwWhsBBTSnjUxurIRm4vWOc+I7nmaDMNx1q8s5ETjcJ1Y6d5byInjYol2iyuIiEy6G2P4hPgE6XUSq31gSG0acAEe0Xx2ZuvEhVtYvYFS4PS/3DA2dDgsZHcuUKwHTiItnXOqE0pKViKikg4Y25nAbvCQix5eagwObu7tcnuXbDOLQh1Fc04bB7ZyJYoUrKsZOYnMvHErA5BSM6MIzY+PJ5FEIKJP+v5lUqpblFOWuuwKzMezBVF/bFKvv7kI6aftYCE1LRAdx9WaKcTe1mZEVrapVSFs9JjdWAyYRkzxjgRba63IESnpobuATxw2N1nI3tEFbULQ2tjp9tLRSnDVZRtJW9S+0ayEXIanxIjIabCiMYfobjR4/dY4BLA4aNtxLJp9RuAZs6SS/psO1xwNjYZK4KSLnkHBw6g2zpDM6OSk4kpLCTh9LleFU0teXmoMEg27MhGducZeJaoaKj2zka2JltIybRSNMu9iZxtCEJSRhymaAkxFYSe8Ccze3OXS58qpT4Jkj2DIliup6baGrZ++B5TTj+TpFGZAe17KGlcv56Gjz/uEARHRUXnhyYTlrw8LIWFxH/jG16CYEpNDfmMWmttuIo8CtZ1Zia34HR0uorMsSZjE7komcmn5HidgCbZyILQf/w5j8LTzxIFnACE5dmewXI9bVv/EQ67jTkXhuUefp84jh2j/L77aFj7LlGJicZZyaee6s5IdgvCmDFhsTqwtzmpq2xfGTR5CUJP2cjJmVbyp6aTkhlHaraV5Ewr1iQpXCcIgcSf6dVmjMW7wnA57QeuDaZR4UbJls1k5BeQNjov1Kb0C601dW++ScX9D+BqbmbUT35M+rXXhlwQXE4XDdWt1JQbqwFPV1FjTZds5NQYkjOtTJid1ZF4lpJlJSk9VrKRBWGI8Mf1VDgUhoQr9tZWDu/YxqyFi0NtSr+wlR6m/M47afr0U+KOO46cn99LzLhxQ3b/9mxkz4J17QXs6ipbcDm7ZyPnTkwlJctYJaRmW0keZcUcIyGmghBq/HE9/RB4UWtd636fCizTWj8ZbOP6SzD2KA5t34rT4aBgZp+J6GGBdjqpefElKh55BAVkrVhB6hXLglYK29bq8CpY11nNtBlba/ds5NTseApnjvLaN4hNkMJ1ghDO+ON6+p7W+on2N1rrGqXU94CwE4pg7FEc2PIF0WYLuZOLA9Vl0Gjbs4ey21bQsmUL8aefTs5dd2LOzR10vx3ZyB4lKdrFobnOOxs5MdUIMZ10svcmckJaLFGSjSwIwxJ/hCJKKaW0NvJR3SfUhX7Xc4go2fI5ecXTwvqIU22zcez//o+q3z1FVHw8ox96kKTFi/s1S9da01RrMzaQPfcNypupr2pFexSui00wk5JpJb84raOCaUqmleRRcURL4TpBiDj8EYr3gFeUUr/D2NS+Dng3qFaFCfXHKqg+Usr0sxaE2hSftPz735TdtoK23btJOu88sm77GdHp6T7btzXbvSKJOgShogWHR+G6aHMUyZlWMsYkMn52pld5CslGFoSRhT9CcQvwXxhHoirgfeCZYBo1UAK9R1Gy5QuAsNyfcDU3U/noY1S/8ALRo0aR9+STJM4/02f76rIm1r24g7I9Hie6KUjMMNxDoyekeCSgWUlIiZHCdYIgAP5FPbmUUiuBj7TWO4Nv0sAJ9B7FgX9/QUJaOul5Q3MGt780bdhA2e13YC8tJeXyy8j8n//xeRiP0+nii/cOsnHNfswxJk5aUkja6AQj1DQjDpNZQkwFQegdf6KelgAPY+xLFCqlZgH3aK0jus62y+Xk4NYvGXfiyWETkeOsq+PoQw9R9/obWMaOJf/5PxA/Z47P9pUHG/jw+e1UlTYy/oRMTr9sItakEbO9JAhCgPDH9XQnMAf3udVa6y+VUgXBMyk8OLp3D61NjRTMOC7UpgBQ//77lN97L87qGtK/9z0yfvgDonwcw+qwOdn4zn6++OAQcYlmFl03naJZo4bYYkEQIgV/hMKhta4Ll1n1UFGy5XNQivzps0Jqh72igqP3/pyGDz4gpngK+U89RWyx71DdI7tr+fiPO6g92syU03I49eLxsvksCMKg8EcovlJKXQGYlFITgB8D/wiuWd4opeKB9RhHqb49FPcs+fcXZBWOD9kBRVpr6t54g6MPPoRubWXU/9xA+re/7fMsB1urgw1/3stXnxwmMT2WJT+ZxZgpkV0OXRCEocEfobgeuA1oA17CiHq6x5/OlVLPARcAFVrraR7XFwKPYhyp+ozW+oE+uroFeMWfewaCtuYmynbvYM6F3xyqW3phO3SIsjvuoHnDP7HOnk32vfcQU+i7ksqBr6tY9+IOGmvamDl/DCddWCSlLwRBCBj+CEWB1vo2DLEAQCk1D/eeRR+sBB4Hnvf4rgl4AjgHKAU2KqXewhCN+7t8/z+BGcA2jLMwhoSDX21Bu1xDvj+hnU6qn3+BykcfRZlMZN91Jynf+pbP8hutjXb+/tpudv6znNRsK5fcdALZRXJEqyAIgcUfoXhFKfU8RuRTLPAQMBs4pa8vaq3X97DxPQfYo7XeB6CUehm4UGt9P8bqwwul1JlAPFAMtCil1mitXV3bBZKSLZ9jjo0jZ+LkYN7Gi9aduyhbsYLWrVtJmDeP7LvuxJztu5r7ns0VrH95J21NDmafV8DsRQUS6ioIQlDwRyhOAh7E2JdIBF4EThvEPXOBQx7vS9336BH3agal1LeBY75EQim1HFgOkJ8/8LwHrTUlW74gf9oMTNHBP+TGZbNR9bvfcezp/8OUlMToX/2SpPPO8xmS21TXxvqXd7Hvi0pG5Sey5CeTycjrOYdCEAQhEPgzEtqBFiAOY0Wxf5Az+p5GwG5ncndroPXKPj5/WilVBiy2WCwnDNA2asuPUF95lBMXXzzQLvym+fMvKLv9dmx795K0ZDFZP/2pz7Omtdbs2FDGp6/twWFzccrSccw6e4ycySAIQtDxRyg2Am8CJwLpwFNKqUu11gM97q0UGOPxPg84MsC+Ak7Jv4NftsPV1ETF/z5CzYsvEp2TzZinnyJh7lyf7euPtbDuxR0c2l5Dzvhk5l89hZQsa9DsEwRB8MQfobhWa73J/Xs5cKFS6upB3HMjMEEpVQgcBi4HrhhEfx0EooRHyZbPSc7KJiU7JxAmdaPxb3+n/M47sZeVkXrFFYz6f/8PU0J8j221S7P1k1I2/GUfCph7+USmzc2VGkyCIAwpfh2FqpS6CijSWt+jlMoH/Kr5pJT6EzAPyFBKlWLkQTyrlPoRRlVaE/Cc1vrrgZnf7X6DKgrodNg59PVWik/3XVxvoDhqaqh44AHq3nwLS1ERY198EevxvqOqqsua+PiFHZTvqyN/ahrzrpxMYtqQBX4JgiB04I9QPAm4gPkY+RMNwOsYrqhe0Vov83F9DbDGfzP9Y7AriiO7dmBvbWHszMCFxWqtaVi7lvKf34ezvp70719HxnXXERXT8/kWTqeLL94/yMZ3jCJ+Z397ChNPyg6belOCIIw8/Ip60lofr5T6AjpOuAvLynKDXVEc+PcXqKgo8qfODIg99qNHKb/7Hho/+ojYadPI//1zxE6a5LN95cEGPnphO8cONTLu+EzmXi5F/ARBCD1+RT25k+TaT7gbhbHCCDsGu6KIjU9g8qlzibEObqNYu1zUvvoaFQ8/jHY4yLz5ZtL+42qUj3Bbh93JxrdL+OKDg8QlmFn0X9MpOk6K+AmCEB74IxSPAX8GMpVS9wGXAiuCatUAGeyKYnYAQmJtJSWU3X4HzRs3Yj3pJHLuvQdLL3kdR/bU8vELRhG/yafmcNolUsRPEITwQrmPwu69kVKTgbMwciA+1FpvD7Zhg2H27Nl606ZNfTcMINrhoHrlSip/8zjKYiHrlptJvuQSn3sLtlYH//zLPrZ+UkpiWixnXjmZMcVSxE8QhNChlNqstZ7d9bpfqcda6x3AjoBbFSG0bt9O2W0raN22jYSzzyL79jswZ2X6bH/w6yo+dhfxmzEvj5MuLMISG/wscEEQhiFaQ1sDNFdBc7X75zH3z6rO603ua5c+CzmB2WdtJ6JGp0Cfmd0X2umk8rHfUPXMM5hSU8l95BESF5zrcxXR2mTn01d3s8NdxO/iG08gZ5wU8ROEEYWjzXuQbzrmIQBVHkLgcc1p67mvqGiwZoA1HaxpkDUVogLvuvbL9TTcGCrXU9XvV1Lx4IMkX3QRWbfegiklxWfbvZ9X8MnLu2httHP8gnxmn1dAtFlKgQvCsMblhJbaLgN8lffsv6nLNVuD7/7iUt2Dfi+v+AxDFKzpEJMEAQydH5TrSeiOrbSUysceI2HePHLu/0WvRfz+9vIu9n5RScaYBBZfP5NRY6SInyCEHVqDrdFjpl/V+yy/uQpaasBX6TtzfOdM35oOGRO833esBNyvuFQwheeQHJ5WDZChcj1prSm/8y6UUmTfeUePImEU8Svn09d2SxE/QQgFjrYefPo+ZvkdLp62nvuKivYe1DOLfc/y21/muKF93iASUUIRiFpP/lD/1ls0ffopWbevwJzTvSZUfVULn7y4k4PbqskZn8yZV00mNbvnek6CIPiBywWttT0M8j282n3+vbl4YlM6B/SUMTB6pscg7znTTzNEIMAunuFGRAnFUOCorubo/Q8QN2sWqcu8K5QYRfwOs+Eve6WInyD4QmuwNXWf5fc40z/mh4vH6j2TTxvnMdPv6uPPCGsXT7gi/7X6ydH7H8DZ1ETOvfd4HVFaU24U8SvbW0d+cRpnXDmJpPTIWXoKgk8ctt5n+D35/H25eJTJw5WTDplTepjpp3W2iUsDi5Tctztd1LXYqW22k5sSR5wlsIEyIhT9oHH9eupXrybjBz8gZsIEwCji9+UHB9n4dgnRlijO+vYUJkkRP2G44uni6ebO6SmOvxra6n33F5vcOcAn5xnx/d1m+R6v2OQR7eLpHPBt1DYbA3+t5/sWz+vG73XNdhraHB19vHrdKZxYENjk3YgSimBuZruamii/624sRUWkX/dfALQ02Fj9my1UHmxg3PGjmHv5JCniJ4QPHS6eHlw5vmb6LdW+XTzRcd6btmlFPc/yvaJ4RmY5GpvDGPDr3IN5TbMx2LfP+muabdS2GIN8bYuNmiY7dS12Gj0G/K5EKUixWkiJM5NsNZOZGMvEzESSrWZS4iykxptJjjNTmBH4/dCIEopgbmZXPvYY9iNHGPvSi0RZLGitWffiTqqONLJw+TTGHe87E1sQAoLDZgzkPmf5PUT3OFp77qvdxdP+GjXJe5Dv6TUCXTw2h4vaFpt7QO8c5Ot8zO5r3YLQZHP67NMUpToG+5Q494CflUhKnIUUq9n9MgQhxS0CyVYziTHRRIVovzOihCJYtGzdSvXzL5Cy7HKsxxtHpO76Vzn7vqzklKXjRCSE/tPh4vFRkqFbDH81tNX57i82uXNAT8qD7Jne4ZrxXSJ5YpIhauSEansO+O2z+/YZva/ZfX8G/FSrheykWCZlGwN+qnvAT3YP+KlWi/u9mQRL6Ab8gSJC0Qdaa47e/wCm9HQyb7gBgIbqVtav2k3OuGRmneO7MqwwQtAa7M19JGp1nflXg/YxCEXHul067tDMtELvQb5ropY1bcS4eNocTq/ZfTfffRf/fl2LIQTNvQz40VHKGMTjjJl8TnIsU3KS3LN5jxm+e3bfPutPiIkeMXuRIhR90PDBB7R8/jnZ99yNKTER7dJ89Px2XC7NWd+eMuxmBoIfOO0+ZvrVvmP4e3XxeGTiZkzsYZbvmaiVMSJcPJ4Dfk1Tlxl9xyDf6d+vc8/6/Rnw2902o1OMAd/n7D5u5A34AyXshUIpNQ+4F/gaeFlrvW6o7q1tNip+9StiJown5WLjrIqtnxymdEcN866cRPKoyP8/9LDH5TJcNj0O8l1KMrQnavXm4olJ7pzpJ42G7Ok+ZvnuGP4Id/G02p0dG7S1zcYgX+c1u/ec9RsDfk2znRZ7XwO+pWNGn5sSx9TRSb3O7lOsFuItJhnwg0RQhUIp9RxwAVChtZ7mcX0h8ChgAp7RWj/QSzcaaARigdIgmtuNmpdXYT9wkDFP/Q4VHU1NeRMb3thD/tR0ir8xeihNEdqxNffszvGVqOWvi8eaDiljfZRjyOiM4omOzKi29gG/xstt09Ps3tbh0qntY8A3mxTJHv769gE/1T2wt8/oUz1+lwE/PAn2imIl8DjwfPsF97GqTwDnYAz8G5VSb2GIxv1dvv+fwN+01p8opbKAXwNXBtlmAJz19Rx74gmsp5xM/Ny5uJwu/rpyOyZLFPP/Y7L8Qw4EXi4eP0oyNFeBo6XnvlSU92w+YwJYT+4+0/eM4TdbIy5mv9Xu7BKF42t27x2x02r3fbqx2aQ63DmpVgtj0qxM9zG7T44zkxpvtLXKgB8xBFUotNbrlVIFXS7PAfZorfcBKKVeBi7UWt+PsfrwRQ0Q4+tDpdRyYDlAfi9Hj/pL1dNP46yvJ+vmm1FKsfm9A1SU1HPud6cSn+zTjJGL1l2iePpK1KqCVj9cPNZ0SMzxcPGkd5/pW9OM2j0R5OJpH/A7Z/Ae8fjt4ZrtoZot/g34FlNUp6smzhjwZ+R1n913hG5ajdVAnFkG/JFOKPYocoFDHu9LgZN8NVZKXQwsAFIwVic9orV+WilVBiy2WCwnDMZAW+lhqp9/geQLLyR2yhSOltSz8e39TDgxiwmzswbT9fDB1uzHTL/Le18uHlOMtzun3cXjM1ErLWJcPC02Z7cY+1qPgb22ySPD1sP10+bwc8C3Wsj3GPC9fPdxHtdkwBcGQSiEoqd/qT5PT9JavwG84U/HgUq4q3zkEVCKUf/9E2ormnnniS3Ep8Qw9/KJg+k29DRWwLFd/iVq2Zt77kNFGQN5h4tnPFhP8l2Px5oOlvhh7eLRWtNqd3X67z3j8bvM7j2jd/oc8KOjDH+9O6EqP83KzLyUjnj79nj8ZI/BP9VqIdYcJQO+MKSEQihKgTEe7/OAI4HoOBAlPFq2bqX+7bdJv+6/sMWlsvrhzWgXLP7xTGLjh1msussJR76A3e/Drveg7MvubWKSOqN2ErIhc2rPs/yOWjzD18Wjtaal3Yff0+y+m0+/83ebHwN++6ZsQYaVlLgUUuJ9z+5T4iwBL9wmCMEiFEKxEZiglCoEDgOXA1eEwI5uaK2pePAhTOnpJFz5Hd76zRaaG+xc9N/HDZ/zJJqrYe9Hhjjs+auxOlBRkDcH5t8OebMNUWivvDkMXTztA35H/Zz2eHyviBx3qGaXjVub0/eAH2uO8tqULcpI6Da7Nz7rnN2nWM3EypG2QoQT7PDYPwHzgAylVClwp9b6WaXUj4D3MCKdntNafx2I+w3W9dT40Uc0b9rEqNvv5P0X9lJzpInzfziDrMKkQJgXHLSG8q2GMOz+AEo/M4q6WdNh/Nkw4VwYN99YJYQZWmuabc5u2bQ9ze67llroa8D3DLksykhwF0zznN139+nLgC8IPRPsqKdlPq6vAdYE+n6DdT01vP8B5qJxbGwo5vCuY5z9nWLyp6YH1shA0FoP+9Z1rhoayozro4+DuTcZ4jD6OIgamoFPa02TzdkxsNf1MLvvyLBt8R78exvw48ymzpBLq4XxmQkdM3pfs/vkOBnwBSHQKK197iMPW2bPnq03bdrU7++5XC4++f2/2baxmtMuHc+ss8OkjpPWxib07veN14EN4LIbIaTjzjSEYfzZkDi4iKyuA36f8fgtnclYdqfvf0dxZpN7U9bSw2y+a7VMGfAFIVQopTZrrWd3vR72JTz6w2BXFJvXHmDbxmqOX5AfepGwNUPJ3zrFofagcT2zGE75oSEOY+b4XQyu1e5k/a5Kdh1t6HF23y4EDpfvAd9qMblj7I0Z/cSsBI8ZfWf0TopH0lWSDPiCMOyRFYUH2/9xhLK9dZx5VYgyr6v3G/sMu983RMLRamQPF82DCefA+HOMg+D9pLHNwUc7Knj3qzI+3lHZUW4h3mLqXkKhl9l9+ww/JloGfEGIZEbEimKwTDl1NFNOHcIaTo42OLgBdrlXDVW7jetp4+CE78DEcyH/VDDH+t1lbbONv243xGH97mPYHC4yEmK4+PhcFk3LYXZBqszwBUHoFxElFIPOo2hrNBLNEoJ4EFHdYdjzgbFy2LcObI1G5nLBN+DE7xorh/Rx/eqysqGN97eV8+5X5WzYW4XDpclNieOqk8ayaHo2x+enYpJy6IIgDBBxPXny+neNjeJlf4KcGYExxukwQlbbw1ePfmVcT8ozVgwTzoXCuUb2cj8oq2vh3a/KWftVORtLqtEaCtKtLJyWw6Jp2czIS5bsXUEQ+oW4nvzh1OvhwD/guQWw9CkoXjKwfhorjbDV3e/D3g+N4nfKBPmnwDn3GOIwanK/y1ocqGpirVscthyqBWBSViI/nj+BRdOzmZSVKOIgCELAEaHwYI+piIr5r3Lqxh/DK1fD/BVw+o19D+guF5R9YawYdr1nlM1AQ3wmTF5suJPGnWmca9wPtNbsrmhk7dZy3v26nO1l9QDMyEvmpgWTWDQtm6JRCQN8WkEQBP+IKKEY7B7FL9/bxfvbyrn3gt9yZdrD8NHPoWIHXPg4mOO8Gzcdg70fGyuG3R8YRfVQRomMM39miEP2zH7XRdJa8/WRetZ+Vcbar8rZV9mEUnBCfiorzp/CwmnZ5KXKyXqCIAwdskfhQVObg+v/9AUf7ajgu6cV8LOktUR9fC/kngDf/APUVPdjTgAADShJREFUHjDqKO35EMq2ANo49WzcWTBxgfEzvv+Z3C6X5otDNR0rh9KaFkxRipMK01g0LZsFU7PJTPI/8kkQBGEg+NqjEKHogtOlufftbaz8RwnnFGfx+HGlxLz1/c6y28pkJLqNm28Iw+hZAyqV4XC6+Kykmne/Kue9r8s5Wt+G2aT4xvgMFk3L4eziLNLih1/BPkEQhi+yme0npijFXUumMjbdyr1vb+PSugxWXv426fvfhtzjjQilfu41tGNzuPh07zHe3VrOB9uPUt1kI9YcxRkTR7FoWg7zp2SSFDvMSpkLghDxRJRQDHaP4uuqrympK+H8ovP5zmmF5KdZuf5PX7D4lTae+87/Y3J2/6vIttqdfLKrkne/Kuev24/S0OogISaa+ZMzWTQtmzMmjcJqiag/gyAIEYa4njxY8fcVfHjwQ9Zdto4Yk3Eu9leH67j2Dxupa7FzyfF5XHNqAROzEnvtp6fSGclxZs4pzmLRtGxOG58h2dGCIIQd4nryg4WFC3lz75t8evhT5ufPB2BabjJ/+eFp/Pr9Xby6uZQX/3WQU4rSuebUAs6ekkm0yYhq6q10xsJp2ZxclI7ZNDxPhhMEYWQjKwoP7C4781+Zzyk5p/DQGQ91+7y6ycbLGw/yxw0HOFLXSm5KHEtmjearw3UdpTNGJ8eyYFo2i6blcMJYKZ0hCMLwQVYUfmCOMnP22LN5Z987tDhaiIv2zp1Ii7fwg3njWX56EX/dfpQ//OMAv123l7HpVq49vZBF03KYKaUzBEGIMMJeKJRSUcC9QBKwSWv9h2Deb2HBQl7b9RrrS9ezoGBBj22iTVEsnJbDwmk51LfaSYyJFnEQBCFiCarTXCn1nFKqQin1VZfrC5VSO5VSe5RSt/bRzYVALmAHSoNlazuzs2aTHpvOu/vf9at9UqxZREIQhIgm2LurK4GFnheUUibgCWARUAwsU0oVK6WmK6Xe7vLKBCYBG7TWNwDfD7K9mKJMnFtwLn87/DcabY3Bvp0gCELYE1Sh0FqvB6q7XJ4D7NFa79Na24CXgQu11lu11hd0eVVgrCJq3N91BtPedhYVLqLN2cbHhz4eitsJgiCENaGI18wFDnm8L3Vf88UbwAKl1G+A9b4aKaWWK6U2KaU2VVZWDsrAmaNmkmXN4r2S9wbVjyAIQiQQis3snhz6PmN0tdbNwLV9daq1flopVQYstlgsJwzCPqJUFAsKFvDSjpeoa6sjOWZgJTsEQRAigVCsKEqBMR7v84AjIbCjVxYVLsLhcvDRwY9CbYogCEJICYVQbAQmKKUKlVIW4HLgrUB0rLVerbVenpw8+BXA1PSp5CXk8W6Jf9FPgiAIkUqww2P/BGwAJimlSpVS12qtHcCPgPeA7cArWuuvA3S/xUqpp+vq6gLRFwsLF/Kvsn9R3dp1P14QBGHkEOyop2Va6xyttVlrnae1ftZ9fY3WeqLWepzW+r4A3i9gKwowku+c2slfD/w1IP0JgiAMRyKqSl0gVxQAE1MnUpBUwNr9awPSnyAIwnAkooQi0CsKpRSLChex+ehmKporAtKnIAjCcCOihCLQKwow3E8azQcHPghYn4IgCMOJiBKKQK8oAIpSipiYOlHcT4IgjFgiSiiCxaLCRWyp3MLDGx/G5rSF2hxBEIQhJaKEIhiuJ4Cri6/mskmX8fy257n8ncvZVbMroP0LgiD0F601Lu3C6XLicDlwuBzYXXZc2hXwe8kJd/1gfel6bv/0dhptjfzk+J9wVfFVRKnw1FqXdmFz2mhztnX+dNlwuBy0/801Gq017f9zX+x23fPfiNdnuvN7Xn16fubur+t327/j2X+HHbqHftyf99e+Hq973tOX3R72+fq918982e2nfV7/3Xqyu7f7dbl3j39vX/106cvX36Kne/f29+76t/Pr7x2of6d9/L17+7fZ69/bn/82np9put27z2f1uEdXu3zx+wW/Z3Z2t0Pq/EJOuAsAc/Pm8saSN7hrw108vOlh1h9ez89P+znZ8dle7bTWOLQDm9PWfbB2/+w6gP//9u4vxo6yjOP497enu1ukiNaCoS3pnxQTCWKFQIwYU/wDiAKaECWRBCNBYwhauSBtUJMab6iJMXolwWITUS4sBAJRKEhjvLHlT0sX27qltrFp40JAKTftpvt4Me9hZ8/OmT3b3bOnO/P7ZE/OzDNzZt7nzZ55duacfad0ecF23pseK15vdGy0R71knRBCEkpDnwmR/WjCsvy9TibE0/pF8eZr3tt2y2uK9p1/Teu+i7YzoV0t8eb6bZeJSftu3QdAX1/f5Ha3tquoz8Y7Ztr9WZZru36a1Mdpvqg/p+ybNu1uu82WPgBYumhpm9+6M1epMwpJNwE3rVmz5q7h4eGu7Sci2Da8jc27NiPE4oWLJx20Z3r6J8TCBQsZaAww2DdIf6OfwcYgg43BLJZ/7huYFGtdrzndUKPtL9lUb4hJv8jtDhzTfXN0cOCYdCBp1+78sg7fvIXtzm+3Zftn8uYt2p/Z2abdGUWlCkVTty49tTryzhG2DG1h9PTohINx24N1X2cH84HGAAvk26ua2dzypacuWPH+FWz61KZeN8PMrKvOzk9izczsrOFCYWZmpSpVKLr1fxRmZnVWqULRjSE8zMzqrlKFwszMZp8LhZmZlXKhMDOzUi4UZmZWqpL/mS3pDeDIFKstAd6cg+acbZx3vTjveplp3isi4oLWYCULRSckvVj0r+pV57zrxXnXS7fy9qUnMzMr5UJhZmal6lwoHux1A3rEedeL866XruRd288ozMysM3U+ozAzsw64UJiZWanaFQpJN0g6IOmgpA29bs9sk7RF0oikoVxssaTtkobT8wdzyzamvjgg6fretHpmJF0s6QVJ+yS9Jun7KV71vBdK2ilpT8p7U4pXOu8mSQ1Jr0h6Ks3XJe/DkvZK2i3pxRTrbu4RUZsH0ABeB1YDA8Ae4NJet2uWc/wMcAUwlIttBjak6Q3AA2n60tQHg8Cq1DeNXudwBjlfBFyRps8D/plyq3reAhal6X7g78Anq553Lv97gd8DT6X5uuR9GFjSEutq7nU7o7gaOBgRhyLiFPAocEuP2zSrIuKvwFst4VuArWl6K/CVXPzRiDgZEf8CDpL10bwSEccj4uU0fQLYByyj+nlHRLybZvvTI6h43gCSlgNfAh7KhSufd4mu5l63QrEM+Hdu/miKVd2HI+I4ZAdV4MIUr1x/SFoJfILsr+vK550uv+wGRoDtEVGLvIFfAPcBY7lYHfKG7I+BZyW9JOnbKdbV3BfMoLHzkQpidf5+cKX6Q9IiYBuwPiLekYrSy1YtiM3LvCPiNLBW0geAxyVdVrJ6JfKW9GVgJCJekrSuk5cUxOZd3jnXRMQxSRcC2yXtL1l3VnKv2xnFUeDi3Pxy4FiP2jKX/iPpIoD0PJLilekPSf1kReKRiHgshSufd1NE/BfYAdxA9fO+BrhZ0mGyy8eflfQ7qp83ABFxLD2PAI+TXUrqau51KxS7gEskrZI0ANwGPNnjNs2FJ4E70vQdwBO5+G2SBiWtAi4BdvagfTOi7NThN8C+iPh5blHV874gnUkg6Rzg88B+Kp53RGyMiOURsZLsPfyXiLidiucNIOlcSec1p4HrgCG6nXuvP8HvwTcGbiT7VszrwP29bk8X8vsDcBwYJftr4k7gQ8DzwHB6Xpxb//7UFweAL/a6/WeY86fJTqdfBXanx401yPty4JWU9xDw4xSvdN4tfbCO8W89VT5vsm9s7kmP15rHsG7n7iE8zMysVN0uPZmZ2TS5UJiZWSkXCjMzK+VCYWZmpVwozMyslAuF2TSkkTuX9Gjf6yW9rxf7tnpzoTCbP9YDLhQ251wozNqQdHu638NuSb+W1OhkuaR3JT2QBm17TtLVknZIOiTp5rROQ9LPJO2S9Kqk76T4urTuHyXtl/SIMt8DlgIvKLv3RkPSbyUNpXsT/GCu+8fqw4XCrICkjwJfJxuAbS1wGvhGh8vPBXZExJXACeCnwBeArwI/SevcCfwvIq4CrgLuSkMsQDb67XqyewmsTvv4JdkYPddGxLXAWmBZRFwWER8DHu5CN5gB9Rs91qxTnwOuBHalUWjPYXygtamWnwL+nKb3AicjYlTSXmBlil8HXC7p1jR/Ptk4PKeAnRFxFCANIb4S+FtL+w4BqyX9CngaeHZm6Zq150JhVkzA1ojYOCEofbNseTIa42PjjAEnASJiTNKC3OvviYhnWra/rrl+cpqC92lEvC3p48D1wN3A14BvdZyd2TT40pNZseeBW9OY/817Eq+YxvKpPAN8Nw2PjqSPpNFAy5wgu9Ur6ZtXfRGxDfgR2e1vzbrCZxRmBSLiH5J+SHYnsT6y0Xjv7mD5kQ538RDZJaWX0zDpbzB++8p2HgT+JOk42WcYD6d9AxSd2ZjNCo8ea2ZmpXzpyczMSrlQmJlZKRcKMzMr5UJhZmalXCjMzKyUC4WZmZVyoTAzs1L/BwvaypSi3ik4AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plottimeslogy([sum1, sum2, sum3,loop1, loop2, loop3],[10,20,30,100,500])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.8.6" } }, "nbformat": 4, "nbformat_minor": 4 }