This preview shows pages 1–10. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: Introduction Kdtrees Kdtrees and range trees Computational Geometry Lecture 6: Kdtrees and range trees Computational Geometry Lecture 7: Kdtrees and range trees Introduction Kdtrees Database queries 1D range trees Databases Databases store records or objects Personnel database: Each employee has a name, id code, date of birth, function, salary, start date of employment, ... Fields are textual or numerical Computational Geometry Lecture 7: Kdtrees and range trees Introduction Kdtrees Database queries 1D range trees Database queries A database query may ask for all employees with age between a 1 and a 2 , and salary between s 1 and s 2 date of birth salary 19,500,000 19,559,999 G. Ometer born: Aug 16, 1954 salary: $3,500 Computational Geometry Lecture 7: Kdtrees and range trees Introduction Kdtrees Database queries 1D range trees Database queries When we see numerical fields of objects as coordinates, a database stores a point set in higher dimensions Exact match query: Asks for the objects whose coordinates match query coordinates exactly Partial match query: Same but not all coordinates are specified Range query: Asks for the objects whose coordinates lie in a specified query range (interval) Computational Geometry Lecture 7: Kdtrees and range trees Introduction Kdtrees Database queries 1D range trees Database queries Example of a 3dimensional (orthogonal) range query: children in [ 2 , 4 ] , salary in [ 3000 , 4000 ] , date of birth in [ 19 , 500 , 000 , 19 , 559 , 999 ] 19,500,000 19,559,999 3,000 4,000 2 4 Computational Geometry Lecture 7: Kdtrees and range trees Introduction Kdtrees Database queries 1D range trees Data structures Idea of data structures Representation of structure, for convenience (like DCEL) Preprocessing of data, to be able to solve future questions really fast (sublinear time) A (search) data structure has a storage requirement, a query time, and a construction time (and an update time) Computational Geometry Lecture 7: Kdtrees and range trees Introduction Kdtrees Database queries 1D range trees 1D range query problem 1D range query problem: Preprocess a set of n points on the real line such that the ones inside a 1D query range (interval) can be answered fast The points p 1 ,..., p n are known beforehand, the query [ x , x ] only later A solution to a query problem is a data structure, a query algorithm, and a construction algorithm Question: What are the most important factors for the efficiency of a solution? Computational Geometry Lecture 7: Kdtrees and range trees Introduction Kdtrees Database queries 1D range trees Balanced binary search trees A balanced binary search tree with the points in the leaves 3 10 19 23 30 37 59 62 70 80 89 3 19 10 30 59 70 62 93 89 80 23 49 93 97 37 49 Computational Geometry Lecture 7: Kdtrees and range trees Introduction Kdtrees Database queries 1D range trees Balanced binary search trees The search path for 25 3 10 19 23 30 37 59 62 70 80 89 3 19 10 30 59 70 62 93 89 80 23 49 93 97 37 49 Computational Geometry Lecture 7: Kdtrees and range trees Introduction...
View
Full
Document
This note was uploaded on 05/27/2011 for the course CIS 4930 taught by Professor Staff during the Fall '08 term at University of Florida.
 Fall '08
 Staff
 Databases

Click to edit the document details