Index of /besson/info1_algo1_2019/notebooks
# ALGO1 : Introduction à l'algorithmique
- Magistère d'Informatique de Rennes - ENS Rennes - Année 2019/2020
- Intervenants :
+ Cours : [Lilian Besson](https://perso.crans.org/besson/)
+ Travaux dirigés : [Raphaël Truffet](http://perso.eleves.ens-rennes.fr/people/Raphael.Truffet/)
----
## Information à propos de ce cours
C'est en ligne, sur [cette page](https://perso.crans.org/besson/teach/info1_algo1_2019/) (`https://perso.crans.org/besson/teach/info1_algo1_2019/`).
- Liste des notebooks : [cette page](https://perso.crans.org/besson/teach/info1_algo1_2019/notebooks/) (`https://perso.crans.org/besson/teach/info1_algo1_2019/notebooks/`), [sur NBViewer (passif)](https://nbviewer.jupyter.org/github/Naereen/ALGO1-Info1-2019/tree/master/), [sur Binder (interactif)](https://beta.mybinder.org/v2/gh/Naereen/ALGO1-Info1-2019/master), et [sur Google Colab](https://colab.research.google.com/github/Naereen/ALGO1-Info1-2019/blob/master/).
[](https://mybinder.org/v2/gh/Naereen/ALGO1-Info1-2019/master)
[](https://colab.research.google.com/github/Naereen/ALGO1-Info1-2019/blob/master/)
## Liste de notebooks
### Cours 1 : Introduction + File de priorité
- [CoursMagistral_1.ipynb](CoursMagistral_1.ipynb)
- (aussi [en python](CoursMagistral_1.py) et [en HTML](CoursMagistral_1.html))
### Cours 2 : Structures de données pour un ensemble
- [CoursMagistral_2.ipynb](CoursMagistral_2.ipynb)
- (aussi [en python](CoursMagistral_2.py) et [en HTML](CoursMagistral_2.html))
### Cours 3 : Diviser pour régner
- [CoursMagistral_3.ipynb](CoursMagistral_3.ipynb)
- (aussi [en python](CoursMagistral_3.py) et [en HTML](CoursMagistral_3.html))
### Cours 4 : Graphes, et parcours en profondeur
- [CoursMagistral_4.ipynb](CoursMagistral_4.ipynb)
- (aussi [en python](CoursMagistral_4.py) et [en HTML](CoursMagistral_4.html))
### Cours 5 : Parcours en largeur
- [CoursMagistral_5.ipynb](CoursMagistral_5.ipynb)
- (aussi [en python](CoursMagistral_5.py) et [en HTML](CoursMagistral_5.html))
### Cours 6 : Algorithmes gloutons
- [CoursMagistral_6.ipynb](CoursMagistral_6.ipynb)
- (aussi [en python](CoursMagistral_6.py) et [en HTML](CoursMagistral_6.html))
### Cours 7 : Programmation dynamique
- [CoursMagistral_7.ipynb](CoursMagistral_7.ipynb)
- (aussi [en python](CoursMagistral_7.py) et [en HTML](CoursMagistral_7.html))
### Cours 8 : Flots
- [CoursMagistral_8.ipynb](CoursMagistral_8.ipynb)
- (aussi [en python](CoursMagistral_8.py) et [en HTML](CoursMagistral_8.html))
**Je rédigerai moins pour les cours suivants.**
### Cours 9 : Programmation linéaire
- [CoursMagistral_9.ipynb](CoursMagistral_9.ipynb)
- (aussi [en python](CoursMagistral_9.py) et [en HTML](CoursMagistral_9.html))
### Cours 10 : Algorithmes de recherche de solutions
- Je n'ai rien rédigé pour ce cours
### Examen terminal : tri cocktail et autres problèmes
- [Correction_examen_ALGO1_2019.ipynb](Correction_examen_ALGO1_2019.ipynb)
- (aussi [en python](Correction_examen_ALGO1_2019.py) et [en HTML](Correction_examen_ALGO1_2019.html))
----
## 1. *How to read these documents*?
### 1.a. View the notebooks statically :memo:
- Either directly in GitHub: [see the list of notebooks](https://github.com/Naereen/ALGO1-Info1-2019/search?l=jupyter-notebook);
- Or on [nbviewer.jupiter.org](https://nbviewer.jupiter.org/): [list of notebooks](https://nbviewer.jupyter.org/github/Naereen/ALGO1-Info1-2019/tree/master/).
### 1.b. Play with the notebooks dynamically :boom:
[](http://mybinder.org/repo/Naereen/ALGO1-Info1-2019)
Anyone can use the [mybinder.org](http://mybinder.org/) website (by [clicking](http://mybinder.org/repo/Naereen/ALGO1-Info1-2019) on the icon above) to run the notebook in her/his web-browser.
You can then play with it as long as you like, for instance by modifying the values or experimenting with the code.
[](https://beta.mybinder.org/v2/gh/Naereen/ALGO1-Info1-2019/master)
> *Note:* Only the Python kernel is supported on the MyBinder interface!
----
## 2. *Requirements to run the notebooks locally*?
All [the requirements](requirements.txt) can be installed with [``pip``](https://pip.readthedocs.io/) and by running a few ``python -m ...`` commands.
> Note: if you use [Python 3](https://docs.python.org/3/) instead of [Python 2](https://docs.python.org/2/), you *might* have to *replace* ``pip`` and ``python`` by ``pip3`` and ``python3`` in the next commands (if both pip and pip3 are installed).
### 2.a. [Jupyter Notebook](http://jupyter.readthedocs.org/en/latest/install.html) and [IPython](http://ipython.org/)
```bash
sudo pip install jupyter ipython
```
It will also install all the dependencies, afterward you should have a ``jupyter-notebook`` command (or a ``jupyter`` command, to be ran as ``jupyter notebook``) available in your ``PATH``:
```bash
$ whereis jupyter-notebook
jupyter-notebook: /usr/local/bin/jupyter-notebook
$ jupyter-notebook --version # version >= 4 is recommended
4.2.1
```
----
### :information_desk_person: More information?
> - More information about [notebooks (on the documentation of IPython)](https://nbviewer.jupiter.org/github/ipython/ipython/blob/3.x/examples/Notebook/Index.ipynb) or [on the FAQ on Jupyter's website](https://nbviewer.jupyter.org/faq).
> - More information about [mybinder.org](http://mybinder.org/): on [this example repository](https://github.com/binder-project/example-requirements).
## :scroll: License ? [](https://github.com/Naereen/ALGO1-Info1-2019/blob/master/LICENSE.txt)
All the notebooks in this repository are published under the terms of the [MIT License](https://lbesson.mit-license.org/) (file [LICENSE.txt](LICENSE.txt)).
© [Lilian Besson](https://GitHub.com/Naereen), 2019.
[](https://GitHub.com/Naereen/ALGO1-Info1-2019/graphs/commit-activity)
[](https://GitHub.com/Naereen/ama)
[](https://GitHub.com/Naereen/ALGO1-Info1-2019/)
[](http://jupyter.org/) [](https://www.python.org/) [](https://ocaml.org/)
[](http://ForTheBadge.com)
[](https://GitHub.com/)
[](https://GitHub.com/Naereen/)