diff --git a/Annales.ipynb b/Annales.ipynb index d2df867..26c7df0 100644 --- a/Annales.ipynb +++ b/Annales.ipynb @@ -1 +1,194 @@ -{"metadata":{"kernelspec":{"name":"python3","display_name":"Python 3 (ipykernel)","language":"python"},"language_info":{"name":"python","version":"3.10.14","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"## Partiel 2027","metadata":{}},{"cell_type":"markdown","source":"### Exercise 3","metadata":{}},{"cell_type":"code","source":"def addwithsize(B, x):\n if B == None:\n return (BinTreeSize(x, None, None, 1), True)\n else:\n if x == B.key:\n return (B, False)\n elif x > B.key:\n (B.left, res) = addwithsize(B.left, x)\n if res == True:\n B.size = B.size + 1\n return (B, True)\n else:\n (B.right, res) = addwithsize(B.right, x)\n if res == True:\n B.size = B.size + 1\n return (B, res)","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"cell_type":"markdown","source":"### Exercise 4","metadata":{}},{"cell_type":"code","source":"def lca(B, x, y):\n if x <= B.key:\n if y >= B.key:\n return B.key\n else:\n return __lca(B.left, x, y)\n else:\n if y >= B.key:\n return __lca(B.right, x, y)\n else:\n return B.key","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"cell_type":"markdown","source":"### Exercise 5","metadata":{}},{"cell_type":"code","source":"def mystery(B, x, y):\n if (B == None):\n return None\n else:\n if B.key < x:\n return mystery(B.right, x, y)\n elif y < B.key:\n return mystery(B.left, x, y)\n else:\n B.left = mystery(B.left, x, y)\n B.right = mystery(B.right, x, y)\n return B","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Partiel 2025","metadata":{}}]} \ No newline at end of file +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Partiel 2027" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Exercise 3" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def addwithsize(B, x):\n", + " if B == None:\n", + " return (BinTreeSize(x, None, None, 1), True)\n", + " else:\n", + " if x == B.key:\n", + " return (B, False)\n", + " elif x > B.key:\n", + " (B.left, res) = addwithsize(B.left, x)\n", + " if res == True:\n", + " B.size = B.size + 1\n", + " return (B, True)\n", + " else:\n", + " (B.right, res) = addwithsize(B.right, x)\n", + " if res == True:\n", + " B.size = B.size + 1\n", + " return (B, res)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Exercise 4" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "def lca(B, x, y):\n", + " if x <= B.key:\n", + " if y >= B.key:\n", + " return B.key\n", + " else:\n", + " return __lca(B.left, x, y)\n", + " else:\n", + " if y >= B.key:\n", + " return __lca(B.right, x, y)\n", + " else:\n", + " return B.key" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Exercise 5" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def mystery(B, x, y):\n", + " if (B == None):\n", + " return None\n", + " else:\n", + " if B.key < x:\n", + " return mystery(B.right, x, y)\n", + " elif y < B.key:\n", + " return mystery(B.left, x, y)\n", + " else:\n", + " B.left = mystery(B.left, x, y)\n", + " B.right = mystery(B.right, x, y)\n", + " return B" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Partiel 2025" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Exercise 1\n", + "1. 14 / 4 / 2\n", + "2. 1 / 2\n", + "\n", + "### Exercise 3" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "def __testBST(B, inf, sup):\n", + " if B == None:\n", + " return None\n", + " else:\n", + " if B.key > inf and B.key <= sup:\n", + " return __testBST(B.left, inf, B.key) and __testBST(B.right, B.key, sup)\n", + " else:\n", + " return False" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Exercise 4" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "def __searchlevel(B, x):\n", + " if B == None:\n", + " return -1\n", + " else:\n", + " if x == B.key:\n", + " return 0\n", + " else:\n", + " if x < B.key:\n", + " res = __searchlevel(B.left, x)\n", + " else:\n", + " res = __searchlevel(B.right, x)\n", + " if res == -1:\n", + " return -1\n", + " else:\n", + " return 1 + res\n", + "\n", + "def generation(B, x, y):\n", + " res_x = __searchlevel(B, x)\n", + " if res_x == -1:\n", + " return False\n", + " else:\n", + " return res_x == __searchlevel(B, y)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}