Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kaawan-d20/dpf-2024-binarytree
đ« Code OCaml du projet de Programmation Fonctionnelle de L2S4
https://github.com/kaawan-d20/dpf-2024-binarytree
binary-tree functional-programming ocaml university-project
Last synced: about 1 month ago
JSON representation
đ« Code OCaml du projet de Programmation Fonctionnelle de L2S4
- Host: GitHub
- URL: https://github.com/kaawan-d20/dpf-2024-binarytree
- Owner: Kaawan-d20
- Created: 2024-03-23T16:12:26.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-04-22T11:17:33.000Z (7 months ago)
- Last Synced: 2024-10-18T01:09:21.833Z (about 1 month ago)
- Topics: binary-tree, functional-programming, ocaml, university-project
- Language: OCaml
- Homepage:
- Size: 22.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Devoir de Programmation Fonctionnelle 2023-2024 BinaryTree
Ce repository contient le code OCaml đ« du projet de Programmation Fonctionnelle de L2S4 du meilleur groupe d'Etudiants de la fac d'info d'OrlĂ©ans :)
- Dany Dudiot
- Agathe Papineau
- Nathan RissotCe devoir est dĂč au plus tard pour le **21 avril 2024**, sous la forme d'une Archive nommĂ©e `DUDIOT-PAPINEAU-RISSOT.zip` du dossier /squelette. il ne devra pas contenir de fichier prĂ©-compilĂ© (`dune clean` avant de compresser).
> â Il est demandĂ© de **ne changer aucun nom de fichier** et dâutiliser **uniquement** les fichiers fournis.
## Description
Lâobjectif de ce projet est de concevoir une **structure de donnĂ©es** reprĂ©sentant un tableau de $n$ entiers sous forme **dâarbre binaire** et permettant de rĂ©pondre **efficacement** Ă une requĂȘte donnĂ©e sur ce tableau, comme par exemple calculer la somme contenue dans un sous-tableau, la plus grande somme contenue dans un sous-tableau ou encore connaĂźtre le nombre de zĂ©ros dans un sous-tableau.
Dans lâarbre binaire, chaque **noeud** correspond Ă un **intervalle du tableau** et stocke une information permettant de rĂ©pondre facilement Ă une requĂȘte donnĂ©e.
Ces informations peuvent ĂȘtre de diverses formes mais auront toujours le point commun suivant :
Les noeuds contiendront dans tous les cas la valeur des bornes gauche et droite des intervalles quâils reprĂ©sentent.
La racine correspond ainsi Ă lâintervalle $[0 ... nâ1]$ du tableau et les feuilles aux intervalles $[i ... i]$ pour $0 â€i â€n â1$.
Lâarbre est ensuite construit rĂ©cursivement en combinant les valeurs des deux noeuds enfants pour obtenir le noeud parent.
ex : maximum d'un sous tableau
```mermaid
graph TD
0[max = 1, \n intervalle 0...0]
1[max = -4, \n intervalle 1...1]
2[max = 6, \n intervalle 2...2]
3[max = 8, \n intervalle 3...3]01[max = 1, \n intervalle 0...1]
23[max = 8n \n intervalle 2...3]03[max = 3, \n intervalle 0...3]
01 --- 0
01 --- 123 --- 2
23 --- 303 --- 01
03 --- 23
```## Organisation
Le dossier `\squelette` est un fichier de projet dune. c'est ce fichier qu'il faudra Zipper pour rendre.
Le fichier `\squelette\GROUPE.md` contient nos noms ainsi qu'un récapitulatifs de l'Organisation des tùches (CF ci dessous)
Le fichier `\squelette\README.md` contient un set d'instructions et de rappels du CM7 concernant l'utilisation de dune.
le dossier `\squelette\lib` contient les interface format `.mli` et le code au format `.ml` des différents modules a completer / implémenter
## RĂ©partitions des TĂąches
### Dany Dudiot :
- to be determined.### Agathe Papineau :
- to be determined.### Nathan Rissot :
- to be determined.