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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Paul Chobert
October 16, 2011
Research
0
840
QuadTrees with OCaml
Paul Chobert
October 16, 2011
Tweet
Share
More Decks by Paul Chobert
See All by Paul Chobert
SCNF 311
barodeur
0
98
Stage @Novelys - été 2011
barodeur
1
130
Other Decks in Research
See All in Research
POI: Proof of Identity
katsyoshi
0
130
Satellites Reveal Mobility: A Commuting Origin-destination Flow Generator for Global Cities
satai
3
490
音声感情認識技術の進展と展望
nagase
0
460
生成AIとうまく付き合うためのプロンプトエンジニアリング
yuri_ohashi
0
130
AI Agentの精度改善に見るML開発との共通点 / commonalities in accuracy improvements in agentic era
shimacos
3
1.2k
さまざまなAgent FrameworkとAIエージェントの評価
ymd65536
1
410
AIスパコン「さくらONE」の オブザーバビリティ / Observability for AI Supercomputer SAKURAONE
yuukit
2
1.1k
【NICOGRAPH2025】Photographic Conviviality: ボディペイント・ワークショップによる 同時的かつ共生的な写真体験
toremolo72
0
160
地域丸ごとデイサービス「Go トレ」の紹介
smartfukushilab1
0
890
R&Dチームを起ち上げる
shibuiwilliam
1
140
Stealing LUKS Keys via TPM and UUID Spoofing in 10 Minutes - BSides 2025
anykeyshik
0
180
AWSの耐久性のあるRedis互換KVSのMemoryDBについての論文を読んでみた
bootjp
1
450
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
0
350
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Skip the Path - Find Your Career Trail
mkilby
0
52
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
47
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Navigating Weather and Climate Data
rabernat
0
100
The Cult of Friendly URLs
andyhume
79
6.8k
Technical Leadership for Architectural Decision Making
baasie
1
240
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
140
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
sira's awesome portfolio website redesign presentation
elsirapls
0
140
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
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 ;;