Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
QuadTrees with OCaml
Search
Paul Chobert
October 16, 2011
Research
0
830
QuadTrees with OCaml
Paul Chobert
October 16, 2011
Tweet
Share
More Decks by Paul Chobert
See All by Paul Chobert
SCNF 311
barodeur
0
96
Stage @Novelys - été 2011
barodeur
1
120
Other Decks in Research
See All in Research
Google Agent Development Kit (ADK) 入門 🚀
mickey_kubo
2
1.7k
SNLP2025:Can Language Models Reason about Individualistic Human Values and Preferences?
yukizenimoto
0
120
AIグラフィックデザインの進化:断片から統合(One Piece)へ / From Fragment to One Piece: A Survey on AI-Driven Graphic Design
shunk031
0
440
在庫管理のための機械学習と最適化の融合
mickey_kubo
3
1.1k
RHO-1: Not All Tokens Are What You Need
sansan_randd
1
170
【輪講資料】Moshi: a speech-text foundation model for real-time dialogue
hpprc
3
670
[RSJ25] Enhancing VLA Performance in Understanding and Executing Free-form Instructions via Visual Prompt-based Paraphrasing
keio_smilab
PRO
0
110
ストレス計測方法の確立に向けたマルチモーダルデータの活用
yurikomium
0
1.5k
AIによる画像認識技術の進化 -25年の技術変遷を振り返る-
hf149
7
4k
2025/7/5 応用音響研究会招待講演@北海道大学
takuma_okamoto
1
180
PhD Defense 2025: Visual Understanding of Human Hands in Interactions
tkhkaeio
1
190
不確実性下における目的と手段の統合的探索に向けた連続腕バンディットの応用 / iot70_gp_rff_mab
monochromegane
2
160
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How to Ace a Technical Interview
jacobian
279
23k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Balancing Empowerment & Direction
lara
3
620
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Documentation Writing (for coders)
carmenintech
74
5k
Docker and Python
trallard
45
3.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Transcript
QuadTrees Projet IAP1 Paul Chobert 26 novembre 2010 let presentation
=
QuadTrees • Arbres
QuadTrees • Arbres • Partition d’espaces
QuadTrees • Arbres • Partition d’espaces • Compression d’images
QuadTrees • Arbres • Partition d’espaces • Compression d’images •
Algorithme en O(ln )
Les PQuadTrees
Collections de points Comment stocker des points efficacement?
Collections de points Comment stocker des points efficacement? • Avec
des listes let points = [(0,1);(0,4);(1,1);(1,3);(3,4);(4,3)]
Collections de points Comment stocker des points efficacement? • Avec
des listes let points = [(0,1);(0,4);(1,1);(1,3);(3,4);(4,3)] • Avec des matrices false true false false true false true false true false false false false false false false false false false true false false false true false
Avec des listes Recherche de point
Avec des listes Recherche de point 1 let rec recherche
p l= 2 match l with 3 [] -> false 4 | t::q -> 5 p=t || p>t && (recherche p q);;
Avec des listes Recherche de point • Utilisation mémoire faible…
1 let rec recherche p l= 2 match l with 3 [] -> false 4 | t::q -> 5 p=t || p>t && (recherche p q);;
Avec des listes Recherche de point • Utilisation mémoire faible…
• … mais algorithme pas efficace. 1 let rec recherche p l= 2 match l with 3 [] -> false 4 | t::q -> 5 p=t || p>t && (recherche p q);;
Avec des matrices Recherche de point
Avec des matrices Recherche de point 1 let recherche (x,y)
m= 2 m.(x).(y);;
Avec des matrices Recherche de point • Recherche de point
presque instantanée… 1 let recherche (x,y) m= 2 m.(x).(y);;
Avec des matrices Recherche de point • Recherche de point
presque instantanée… • … mais utilisation mémoire catastrophique. 1 let recherche (x,y) m= 2 m.(x).(y);;
LA PUISSANCE EST DANS LES ARBRES
LA PUISSANCE EST DANS LES ARBRES
LA PUISSANCE EST DANS LES ARBRES (ln ()) & empreinte
mémoire faible
Démo
-1 1 3 5 7 9 11 1 10 100
1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 13000 14000 15000 20000 30000 Temps en secondes performances PQuadTree Listes
None
R Q U A D T R E E S
Codage des RQuadTrees
Codage des RQuadTrees
Codage des RQuadTrees [0;1;0;0;1;1;1;0;1;0; 1;0;1;1;0;1;1;1;0;1;0 ;1;1]
- Lecture séquentiel du codage
- Lecture séquentiel du codage 1::0::reste -> q = push
(Uni Blanc) q | 1::1::reste -> q = push (Uni Noir) q | 0::reste -> q = push (RQ(Vide,Vide,Vide,Vide)) q | [] -> q
- Lecture séquentiel du codage 1::0::reste -> q = push
(Uni Blanc) q | 1::1::reste -> q = push (Uni Noir) q | 0::reste -> q = push (RQ(Vide,Vide,Vide,Vide)) q | [] -> q =>
Conclusion ;;