Skip to content

đŸ« Code OCaml du projet de Programmation Fonctionnelle de L2S4

Notifications You must be signed in to change notification settings

Kaawan-d20/DPF-2024-BinaryTree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

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 Rissot

Ce 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

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 --- 1

23 --- 2
23 --- 3

03 --- 01
03 --- 23
Loading

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.

About

đŸ« Code OCaml du projet de Programmation Fonctionnelle de L2S4

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages