Skip to content

Instantly share code, notes, and snippets.

@afcajamarcar
Created November 8, 2015 05:21
Show Gist options
  • Save afcajamarcar/2b9c3922fe5a6b49dcf5 to your computer and use it in GitHub Desktop.
Save afcajamarcar/2b9c3922fe5a6b49dcf5 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def partition(alist,first,last):\n",
" pivotvalue = alist[first]\n",
"\n",
" leftmark = first+1\n",
" rightmark = last\n",
"\n",
" done = False\n",
" while not done:\n",
"\n",
" while leftmark <= rightmark and alist[leftmark] <= pivotvalue:\n",
" leftmark = leftmark + 1\n",
"\n",
" while alist[rightmark] >= pivotvalue and rightmark >= leftmark:\n",
" rightmark = rightmark -1\n",
"\n",
" if rightmark < leftmark:\n",
" done = True\n",
" else:\n",
" temp = alist[leftmark]\n",
" alist[leftmark] = alist[rightmark]\n",
" alist[rightmark] = temp\n",
"\n",
" temp = alist[first]\n",
" alist[first] = alist[rightmark]\n",
" alist[rightmark] = temp\n",
"\n",
"\n",
" return rightmark"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def quickSortHelper(alist,first,last):\n",
" if first<last:\n",
"\n",
" splitpoint = partition(alist,first,last)\n",
"\n",
" quickSortHelper(alist,first,splitpoint-1)\n",
" quickSortHelper(alist,splitpoint+1,last)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def quickSort(alist):\n",
" quickSortHelper(alist,0,len(alist)-1)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def insertion_sort(A):\n",
" j = 1\n",
" while j < len(A):\n",
" key = A[j]\n",
" i = j - 1\n",
" while (i >= 0) and (A[i] > key):\n",
" A[i + 1] = A[i]\n",
" i = i -1\n",
" A[i + 1] = key\n",
" j = j + 1"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import time \n",
"import gc\n",
"\n",
"def calc_time(sort_function, array):\n",
" timesum = 0\n",
" gc.collect()\n",
" for i in range(10):\n",
" array_copy = list(array)\n",
" tic = time.time();\n",
" sort_function(array_copy)\n",
" toc = time.time();\n",
" timesum += toc - tic\n",
" return timesum/10"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import random as rnd\n",
"\n",
"def exper_analysis(sizes):\n",
" results_quick = []\n",
" results_insertion = []\n",
" for i in sizes:\n",
" list1 = range(i)\n",
" rnd.shuffle(list1)\n",
" results_quick.append(calc_time(quickSort, list1))\n",
" results_insertion.append(calc_time(insertion_sort, list1)) \n",
" return (results_quick, results_insertion)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x77313d0>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZwAAAEPCAYAAAB2s3LUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XuUVNWZ9/HvA4IJF2kQg0JDQwujqFGjvko0l04mrdgk\nYhJRSBB1NDCj5vUdJ4wwjqFZWWQ0jklkSDTM4HUyUWNiBgGRGO2YkJvG4AVBUGmkUTDGbhVUos3z\n/nFONaeLquq6nq7u+n3WqlXn7Np7n312VdfT51J7m7sjIiJSan26uwEiIlIZFHBERCQWCjgiIhIL\nBRwREYmFAo6IiMRCAUdERGJR8oBjZpPNbKOZbTKzq9LkWWxmm81snZkd31VZMzvHzJ4xs3YzOyFF\nfWPM7C0zu7I0eyUiIrkqacAxsz7AEuAM4GhghpkdmZTnTOBwd58AzAFuzqLs08DngV+m2fQNwKri\n7o2IiBTigBLXfzKw2d23ApjZXcBUYGMkz1TgDgB3/72ZDTGzEcC4dGXd/bkwzZI3aGZTgReB3SXb\nKxERyVmpT6mNArZF1lvCtGzyZFO2EzMbCPwzsBDYLxiJiEj3KcebBgoJFI3Ad9z97SLUJSIiRVTq\nU2rbgTGR9eowLTnP6BR5+mdRNtkpwBfN7FvAUKDdzN5x9+9HM5mZBpATEcmDu+f9j3ypj3AeA8ab\nWY2Z9QemA8uT8iwHZgGY2SSgzd13ZlkWIkcx7v4Jd69191rgu8A3k4NNJK8e7ixYsKDb21AuD/WF\n+kJ9kflRqJIe4bh7u5ldDqwhCG7L3H2Dmc0JXval7r7KzBrM7HmCC/0XZSoLYGZnA/8BDAdWmNk6\ndz+zlPsiIiKFKfUpNdx9NXBEUtoPktYvz7ZsmP4z4GddbHdhzo0VEZGSKcebBiRGdXV13d2EsqG+\n2Ed9sY/6onisGOflehoz80rcbxGRQpgZXsBNAyU/pdaTjB07lq1bt3Z3MyQmNTU1NDc3d3czRCqG\njnA6pxflTgzpGfR+i+Sm0CMcXcMREZFYKOCIiEgsFHBERCQWCjgV5phjjuHRRx/tMl+fPn148cUX\nY2iRiFQKBZwe5rbbbuPYY49l4MCBjBw5kssuu4w333wz6/LPPPMMn/jEJ7rMl2Lmh5JbuHAhs2bN\nin27IhIPBZwe5IYbbmD+/PnccMMNvPnmm/zud7+jubmZ008/nfb29qJuK+67t4rdfhEpQ909GFw3\nDUDnqaRLd3dvaWnxhoYGb2ho8JaWlrT5MimkjjfffNMHDRrk9957b6f0Xbt2+SGHHOJ33HGHu7tf\neOGFfs0113S83tTU5NXV1R3rY8eO9V/84hfu7t7e3u6LFi3yww8/3A866CA/6aSTOtplZv7CCy+4\nu/uvfvUrHz16tP/yl7/cr13vvvuuz5w50w8++GCvqqryk08+2V999VV3d3/55Zf9rLPO8mHDhvmE\nCRP8P//zPzvKNTY2+jnnnOMzZ870IUOG+JIlS7x///7ev39/HzRokB9//PE59U8+Mr3fIrK/8G8m\n7+9e/fAzS7Nnz2bVqlUdyytXroy1jt/85jfs2bOHz3/+853SBw4cSENDA2vWrOH8889PWTbd6bEb\nbriBu+++m9WrVzN+/HiefvppBgwY0CnP6tWrmTNnDvfddx8nnnjifnXcfvvtvPnmm2zfvp3+/fuz\nbt06PvjBDwJw3nnncdxxx7Fjxw6effZZ6uvrGT9+fMdQIcuXL+fee+/lzjvvZM+ePbz22mu88MIL\n3HHHHVn3i4j0HDql1kO89tprDB8+nD599n/LDjvsMP785z/nXOeyZctYtGgR48ePB+DDH/4wQ4cO\n7Xj9nnvu4R/+4R9YvXp1ymAD0K9fP/7yl7+wadMmzIyPfOQjDBo0iJaWFn77299y3XXX0a9fP447\n7jguueSSTsHkox/9KJ/73OcAOPDAA3Nuv4j0LDrCydLSpUuZPXt2x3LcdQwfPpzXXnuNvXv37hd0\nXnnlFYYPH55ze7Zt20ZtbW3a12+88UZmzZrFxIkT0+aZNWsWLS0tTJ8+nTfeeIOZM2eyaNEiXn75\nZYYNG9bpiKmmpoY//vGPHeujR49OVaWI9FI6wsnSqFGjWLlyJStXrmTUqFGx1/HRj36UAw88kJ/+\n9Ked0nft2sUDDzzApz71KSA4xfb22293vP7KK6+krXP06NG88MILKV8zM3784x9z3333sXjx4rR1\n9O3bl2uuuYb169fzm9/8hvvvv5877riDkSNH8vrrr7N79+6OvC+99FKn/U4+1dcdd8aJSHwUcHqI\ngw46iK9//et89atf5cEHH+T999+nubmZ8847jw996EN86UtfAuD4449n1apVtLa2smPHDm688ca0\ndV5yySVcc801PP/88wA8/fTTtLa2AsHNJCNHjuQXv/gFixcv5uabb05ZR1NTE8888wx79+5l0KBB\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x74bdbd0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import pylab as pl\n",
"%matplotlib inline\n",
"pl.clf()\n",
"sizes = np.arange(1,100,1)\n",
"(y1,y2) = np.array(exper_analysis(sizes))\n",
"pl.plot(sizes, y1, 'k.', label = 'Quick sort')\n",
"pl.plot(sizes, y2, 'bx', label = 'Insertion sort')\n",
"pl.xlabel('Array size')\n",
"pl.ylabel('Seconds')\n",
"pl.legend(loc = 'upper left')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
@afcajamarcar
Copy link
Author

Se escoge como N a los valores inferiores a 60, es decir N < 60, pues de la gráfica podemos ver que insertion sort se separa de quick a partir de valores mayores a 60.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment