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/).
[![MyBinder v2](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Naereen/ALGO1-Info1-2019/master)
[![Google Colab: Launch](https://img.shields.io/badge/Google%20Colab-Launch-blue.svg)](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:
[![MyBinder](http://mybinder.org/badge.svg)](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.
[![MyBinder v2](https://beta.mybinder.org/badge.svg)](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 ? [![GitHub license](https://img.shields.io/github/license/Naereen/ALGO1-Info1-2019.svg)](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.
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/Naereen/ALGO1-Info1-2019/graphs/commit-activity)
[![Ask Me Anything !](https://img.shields.io/badge/Ask%20me-anything-1abc9c.svg)](https://GitHub.com/Naereen/ama)
[![Analytics](https://ga-beacon.appspot.com/UA-38514290-17/github.com/Naereen/ALGO1-Info1-2019/README.md?pixel)](https://GitHub.com/Naereen/ALGO1-Info1-2019/)
[![made-with-jupyter](https://img.shields.io/badge/Made%20with-Jupyter-1f425f.svg)](http://jupyter.org/) [![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/) [![made-with-ocaml](https://img.shields.io/badge/Made%20with-OCaml-1f425f.svg)](https://ocaml.org/)
[![ForTheBadge uses-badges](http://ForTheBadge.com/images/badges/uses-badges.svg)](http://ForTheBadge.com)
[![ForTheBadge uses-git](http://ForTheBadge.com/images/badges/uses-git.svg)](https://GitHub.com/)
[![ForTheBadge built-with-science](http://ForTheBadge.com/images/badges/built-with-science.svg)](https://GitHub.com/Naereen/)