# Organizing Spatial Data

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Organizing Spatial Data Spatial data records include a sense of location as an attribute. Typically location is represented by coordinate data (in 2D or 3D). 1 If we are to search spatial data using the locations as key values, we need data structures that efficiently represent selecting among more than two alternatives during a search. One approach for 2D data is to employ quadtrees, in which each internal node can have up to four children, each representing a different region obtained by decomposing the coordinate space. There are a variety of such quadtrees, many of which are described in: The Quadtree and Related Hierarchical Data Structures, Hanan Samet ACM Computing Surveys, June 1984

2 Spatial Decomposition 2 In binary search trees, the structure of the tree depends not only upon what data values are inserted, but also in what order they are inserted. In contrast, the structure of a Point-Region quadtree is determined entirely by the data values it contains, and is independent of the order of their insertion. In effect, each node of a PR quadtree represents a particular region in a 2D coordinate space. Internal nodes have exactly 4 children (some may be empty), each representing a different, congruent quadrant of the region represented by their parent node. Internal nodes do not store data. Leaf nodes hold a single data value. Therefore, the coordinate space is partitioned as insertions are performed so that no region contains more than a single point. PR quadtrees represent points in a finitely-bounded coordinate space.

3 Coordinate Space Partitioning 3 Consider the collection of points in a 256 x 256 coordinate space: A (100, 125) B (25, -30) C (-55, 80) D (125, -60) E (80, 80) F (-80, -8) -128 F C 128 J N P B L M K E A D 128 G (-12, -112) H (-48, -112) J (16, 72) H G -128 K (60, 100) L (48, 48) M (36, 8) N (4, 60) The subdivision of the coordinate space shows how it will be partitioned as the points are added to a PR quadtree. P (28, 30)

4 PR Quadtree Insertion Obviously inserting the first point, A, just results in the creation of a leaf node holding A. Inserting B causes the partitioning of the original coordinate space into four quadrants, and the replacement of the root with an internal node with two nonempty children: A (100, 125) B (25, -30) 4 (-128,-128) to (128,128) (-128,0) to (0,128) (0,0) to (128,128) (0,-128) to (128,0) (-128,-128) to (0,0) none A(100, 125) B(25, -30) none The display above shows the SW and NE corners of the regions logically represented by each node, and the data values stored in the leaf nodes. In an implementation, nodes would not store information defining their regions explicitly, nor would empty leaf nodes probably be allocated.

5 Leaf Splitting During Insertion Inserting C does not cause any additional partitioning of the coordinate space since it naturally falls into an empty leaf: (-128,-128) to (128,128) A (100, 125) B (25, -30) C (-55, 80) D (125, -60) 5 (-128,0) to (0,128) C(-55, 80) (0,0) to (128,128) A(100, 125) (0,-128) to (128,0) Inserting D will cause the partitioning of the SE quadrant in order to separate B and D: (0,-64) to (64,0) B(25, -30) (64,-64) to (128,0) D(125, -60)

6 Multiple Splitting 6 Suppose the value E(80, 80) is now inserted into the tree. It falls in the same region as the point A, (0, 0) to (128, 128). However, dividing that region creates three empty regions, and the region (64, 64) to (128, 128) in which both A and E lie. 128 E A 128 So, that region must be partitioned again. This separates A and E into two separate regions (see illustration on the slide "Coordinate Space Partitioning"). If it had not, then the region in which they both occurred would be partitioned again, and again if necessary, until they are separated.

7 Multiple Splitting 7 Inserting E results in the following tree: A (100, 125) B (25, -30) C (-55, 80) (-128,-128) to (128,128) D (125, -60) E (80, 80) (-128,-128) to (0,0) C(-55, 80) (0,0) to (128,128) (-128,-128) to (128,0) (64,64) to (128,128) (0,-64) to (64,0) B(25, -30) (64,-64) to (128,0) D(125, -60) (96,96) to (128,128) A(100, 125) (64,64) to (96,96) E(80, 80)

8 PR Quadtree Insertion 8 Insertion proceeds recursively, descending until the appropriate leaf node (possibly empty) is found, and then partitioning and descending until there is no more than one point within the region represented by each leaf. It is possible for a single insertion to add many levels to the relevant subtree, if points lie close enough together. Of course, it is also possible for an insertion to require no splitting whatsoever. The shape of the tree is entirely independent of the order in which the data elements are added to it.

9 PR Quadtree Deletion 9 Deletion always involves removing a leaf node. Consider deleting A from the following tree: (-128,-128) to (128,128) (-128,0) to (0,128) C(-55, 80) (0,0) to (128,128) A(100, 125) (0,-128) to (128,0) (0,-64) to (64,0) B(25, -30) (64,-64) to (128,0) D(125, -60)

10 PR Quadtree Deletion 10 Deletion always involves removing a leaf node. Consider deleting A from the following tree: (-128,-128) to (128,128) (-128,0) to (0,128) C(-55, 80) (0,0) to (128,128) A(100, 125) (0,-128) to (128,0) Setting the parent's pointer to null removes the leaf node from the tree, and no further action is required (0,-64) to (64,0) B(25, -30) (64,-64) to (128,0) D(125, -60)

11 PR Quadtree Deletion 11 On the other hand, deleting a leaf node may cause its parent to "underflow": Consider deleting B: (-128,-128) to (128,128) (-128,0) to (0,128) C(-55, 80) (0,-128) to (128,0) Now, the parent node has only one (nonempty) child, and hence there is no reason that it must be split so, we can "contract" the branch by replacing the parent (internal) node with the remaining child (leaf) (0,-64) to (64,0) B(25, -30) (64,-64) to (128,0) D(125, -60)

12 PR Quadtree Deletion 12 Contracting the branch results in: (-128,-128) to (128,128) (-128,0) to (0,128) C(-55, 80) (64,-64) to (128,0) D(125, -60) Of course, if the root node of this tree did not have another child, then the branch contraction could continue

13 PR Quadtree Achilles' Heel 13 If a data point that is inserted lies very close to another data point in the tree, it is possible that many levels of partitioning will be required in order to separate them. A B A B C The minimum height of a PR quadtree is can be as large as log 2s d where s is the length of a side of the "world" and d is the minimum distance between any two data points in the tree.

14 PR Quadtree Using Buckets 14 The problem of "stalky" PR quadtree branches can be alleviated by allowing each leaf node to store more than one data object, making the leaf a "bucket". For example, if the quadtree leaf can store 5 data elements then it does not have to split until we have 6 data points that fall within its region. This complicates the implementation of the tree slightly, but can substantially reduce the cost of search operations. If buckets are used, then the minimum height of a PR quadtree is can be as large as log 2s d where s is the length of a side of the "world" and d is the minimum side of a square that contains more data elements than a bucket can hold.

### 1. Meshes. D7013E Lecture 14

D7013E Lecture 14 Quadtrees Mesh Generation 1. Meshes Input: Components in the form of disjoint polygonal objects Integer coordinates, 0, 45, 90, or 135 angles Output: A triangular mesh Conforming: A triangle

### Multi-way Search Trees. (Multi-way Search Trees) Data Structures and Programming Spring / 25

Multi-way Search Trees (Multi-way Search Trees) Data Structures and Programming Spring 2017 1 / 25 Multi-way Search Trees Each internal node of a multi-way search tree T: has at least two children contains

### Module 4: Index Structures Lecture 13: Index structure. The Lecture Contains: Index structure. Binary search tree (BST) B-tree. B+-tree.

The Lecture Contains: Index structure Binary search tree (BST) B-tree B+-tree Order file:///c /Documents%20and%20Settings/iitkrana1/My%20Documents/Google%20Talk%20Received%20Files/ist_data/lecture13/13_1.htm[6/14/2012

### Multiway searching. In the worst case of searching a complete binary search tree, we can make log(n) page faults Everyone knows what a page fault is?

Multiway searching What do we do if the volume of data to be searched is too large to fit into main memory Search tree is stored on disk pages, and the pages required as comparisons proceed may not be

### Trees. Eric McCreath

Trees Eric McCreath 2 Overview In this lecture we will explore: general trees, binary trees, binary search trees, and AVL and B-Trees. 3 Trees Trees are recursive data structures. They are useful for:

### Binary Heaps in Dynamic Arrays

Yufei Tao ITEE University of Queensland We have already learned that the binary heap serves as an efficient implementation of a priority queue. Our previous discussion was based on pointers (for getting

### TREES. Trees - Introduction

TREES Chapter 6 Trees - Introduction All previous data organizations we've studied are linear each element can have only one predecessor and successor Accessing all elements in a linear sequence is O(n)

### B-Trees. Version of October 2, B-Trees Version of October 2, / 22

B-Trees Version of October 2, 2014 B-Trees Version of October 2, 2014 1 / 22 Motivation An AVL tree can be an excellent data structure for implementing dictionary search, insertion and deletion Each operation

### M-ary Search Tree. B-Trees. B-Trees. Solution: B-Trees. B-Tree: Example. B-Tree Properties. Maximum branching factor of M Complete tree has height =

M-ary Search Tree B-Trees Section 4.7 in Weiss Maximum branching factor of M Complete tree has height = # disk accesses for find: Runtime of find: 2 Solution: B-Trees specialized M-ary search trees Each

### Lecture 32. No computer use today. Reminders: Homework 11 is due today. Project 6 is due next Friday. Questions?

Lecture 32 No computer use today. Reminders: Homework 11 is due today. Project 6 is due next Friday. Questions? Friday, April 1 CS 215 Fundamentals of Programming II - Lecture 32 1 Outline Introduction

### Multi-Way Search Trees

Multi-Way Search Trees Manolis Koubarakis 1 Multi-Way Search Trees Multi-way trees are trees such that each internal node can have many children. Let us assume that the entries we store in a search tree

### Trees. Q: Why study trees? A: Many advance ADTs are implemented using tree-based data structures.

Trees Q: Why study trees? : Many advance DTs are implemented using tree-based data structures. Recursive Definition of (Rooted) Tree: Let T be a set with n 0 elements. (i) If n = 0, T is an empty tree,

### Algorithms. AVL Tree

Algorithms AVL Tree Balanced binary tree The disadvantage of a binary search tree is that its height can be as large as N-1 This means that the time needed to perform insertion and deletion and many other

### Code Transformation of DF-Expression between Bintree and Quadtree

Code Transformation of DF-Expression between Bintree and Quadtree Chin-Chen Chang*, Chien-Fa Li*, and Yu-Chen Hu** *Department of Computer Science and Information Engineering, National Chung Cheng University

### Data Structure Lecture#10: Binary Trees (Chapter 5) U Kang Seoul National University

Data Structure Lecture#10: Binary Trees (Chapter 5) U Kang Seoul National University U Kang (2016) 1 In This Lecture The concept of binary tree, its terms, and its operations Full binary tree theorem Idea

### CE 221 Data Structures and Algorithms

CE 221 Data Structures and Algorithms Chapter 4: Trees (Binary) Text: Read Weiss, 4.1 4.2 Izmir University of Economics 1 Preliminaries - I (Recursive) Definition: A tree is a collection of nodes. The

### Uses for Trees About Trees Binary Trees. Trees. Seth Long. January 31, 2010

Uses for About Binary January 31, 2010 Uses for About Binary Uses for Uses for About Basic Idea Implementing Binary Example: Expression Binary Search Uses for Uses for About Binary Uses for Storage Binary

### Spatial Data Structures

Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster

### CS535 Fall Department of Computer Science Purdue University

Spatial Data Structures and Hierarchies CS535 Fall 2010 Daniel G Aliaga Daniel G. Aliaga Department of Computer Science Purdue University Spatial Data Structures Store geometric information Organize geometric

### Database Systems. File Organization-2. A.R. Hurson 323 CS Building

File Organization-2 A.R. Hurson 323 CS Building Indexing schemes for Files The indexing is a technique in an attempt to reduce the number of accesses to the secondary storage in an information retrieval

### CSE 214 Computer Science II Introduction to Tree

CSE 214 Computer Science II Introduction to Tree Fall 2017 Stony Brook University Instructor: Shebuti Rayana shebuti.rayana@stonybrook.edu http://www3.cs.stonybrook.edu/~cse214/sec02/ Tree Tree is a non-linear

### Data Structure III. Segment Trees

Data Structure III Segment Trees Section 1 Segment Trees Introduction We introduce another data structural, segment trees, to support the interval operation. Compared with the block list, it is usually

### Tree Structures. A hierarchical data structure whose point of entry is the root node

Binary Trees 1 Tree Structures A tree is A hierarchical data structure whose point of entry is the root node This structure can be partitioned into disjoint subsets These subsets are themselves trees and

### Trees. Truong Tuan Anh CSE-HCMUT

Trees Truong Tuan Anh CSE-HCMUT Outline Basic concepts Trees Trees A tree consists of a finite set of elements, called nodes, and a finite set of directed lines, called branches, that connect the nodes

### CS251-SE1. Midterm 2. Tuesday 11/1 8:00pm 9:00pm. There are 16 multiple-choice questions and 6 essay questions.

CS251-SE1 Midterm 2 Tuesday 11/1 8:00pm 9:00pm There are 16 multiple-choice questions and 6 essay questions. Answer the multiple choice questions on your bubble sheet. Answer the essay questions in the

### Binary Trees

Binary Trees 4-7-2005 Opening Discussion What did we talk about last class? Do you have any code to show? Do you have any questions about the assignment? What is a Tree? You are all familiar with what

### REGION BASED SEGEMENTATION

REGION BASED SEGEMENTATION The objective of Segmentation is to partition an image into regions. The region-based segmentation techniques find the regions directly. Extract those regions in the image whose

### Chapter 20: Binary Trees

Chapter 20: Binary Trees 20.1 Definition and Application of Binary Trees Definition and Application of Binary Trees Binary tree: a nonlinear linked list in which each node may point to 0, 1, or two other

### Binary Trees. BSTs. For example: Jargon: Data Structures & Algorithms. root node. level: internal node. edge.

Binary Trees 1 A binary tree is either empty, or it consists of a node called the root together with two binary trees called the left subtree and the right subtree of the root, which are disjoint from

### Chapter 11: Indexing and Hashing

Chapter 11: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree Index Files Static Hashing Dynamic Hashing Comparison of Ordered Indexing and Hashing Index Definition in SQL

### A Comparison of Two Fully-Dynamic Delaunay Triangulation Methods

A Comparison of Two Fully-Dynamic Delaunay Triangulation Methods Michael D Adams Department of Electrical and Computer Engineering University of Victoria Victoria, BC, V8W 3P6, Canada Web: http://wwweceuvicca/

### CIS265/ Trees Red-Black Trees. Some of the following material is from:

CIS265/506 2-3-4 Trees Red-Black Trees Some of the following material is from: Data Structures for Java William H. Ford William R. Topp ISBN 0-13-047724-9 Chapter 27 Balanced Search Trees Bret Ford 2005,

### Chapter 12: Indexing and Hashing

Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree Index Files Static Hashing Dynamic Hashing Comparison of Ordered Indexing and Hashing Index Definition in SQL

### Figure 4.1: The evolution of a rooted tree.

106 CHAPTER 4. INDUCTION, RECURSION AND RECURRENCES 4.6 Rooted Trees 4.6.1 The idea of a rooted tree We talked about how a tree diagram helps us visualize merge sort or other divide and conquer algorithms.

### Laboratory Module Trees

Purpose: understand the notion of 2-3 trees to build, in C, a 2-3 tree 1 2-3 Trees 1.1 General Presentation Laboratory Module 7 2-3 Trees 2-3 Trees represent a the simplest type of multiway trees trees

### Trees : Part 1. Section 4.1. Theory and Terminology. A Tree? A Tree? Theory and Terminology. Theory and Terminology

Trees : Part Section. () (2) Preorder, Postorder and Levelorder Traversals Definition: A tree is a connected graph with no cycles Consequences: Between any two vertices, there is exactly one unique path

### Bioinformatics Programming. EE, NCKU Tien-Hao Chang (Darby Chang)

Bioinformatics Programming EE, NCKU Tien-Hao Chang (Darby Chang) 1 Tree 2 A Tree Structure A tree structure means that the data are organized so that items of information are related by branches 3 Definition

### Spatial Data Structures

15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

### Tree. Virendra Singh Indian Institute of Science Bangalore Lecture 11. Courtesy: Prof. Sartaj Sahni. Sep 3,2010

SE-286: Data Structures t and Programming Tree Virendra Singh Indian Institute of Science Bangalore Lecture 11 Courtesy: Prof. Sartaj Sahni 1 Trees Nature Lover sviewofatree leaves branches root 3 Computer

### Binary Trees. For example: Jargon: General Binary Trees. root node. level: internal node. edge. leaf node. Data Structures & File Management

Binary Trees 1 A binary tree is either empty, or it consists of a node called the root together with two binary trees called the left subtree and the right subtree of the root, which are disjoint from

### CSE 230 Intermediate Programming in C and C++ Binary Tree

CSE 230 Intermediate Programming in C and C++ Binary Tree Fall 2017 Stony Brook University Instructor: Shebuti Rayana shebuti.rayana@stonybrook.edu Introduction to Tree Tree is a non-linear data structure

### We assume uniform hashing (UH):

We assume uniform hashing (UH): the probe sequence of each key is equally likely to be any of the! permutations of 0,1,, 1 UH generalizes the notion of SUH that produces not just a single number, but a

### Introduction. for large input, even access time may be prohibitive we need data structures that exhibit times closer to O(log N) binary search tree

Chapter 4 Trees 2 Introduction for large input, even access time may be prohibitive we need data structures that exhibit running times closer to O(log N) binary search tree 3 Terminology recursive definition

### Trees can be used to store entire records from a database, serving as an in-memory representation of the collection of records in a file.

Large Trees 1 Trees can be used to store entire records from a database, serving as an in-memory representation of the collection of records in a file. Trees can also be used to store indices of the collection

### Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

### CSC148 Week 6. Larry Zhang

CSC148 Week 6 Larry Zhang 1 Announcements Test 1 coverage: trees (topic of today and Wednesday) are not covered Assignment 1 slides posted on the course website. 2 Data Structures 3 Data Structures A data

### Computational Optimization ISE 407. Lecture 16. Dr. Ted Ralphs

Computational Optimization ISE 407 Lecture 16 Dr. Ted Ralphs ISE 407 Lecture 16 1 References for Today s Lecture Required reading Sections 6.5-6.7 References CLRS Chapter 22 R. Sedgewick, Algorithms in

### Spatial Data Structures

CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

### B-Trees. Introduction. Definitions

1 of 10 B-Trees Introduction A B-tree is a specialized multiway tree designed especially for use on disk. In a B-tree each node may contain a large number of keys. The number of subtrees of each node,

### 13.4 Deletion in red-black trees

Deletion in a red-black tree is similar to insertion. Apply the deletion algorithm for binary search trees. Apply node color changes and left/right rotations to fix the violations of RBT tree properties.

Computational Geometry Lecture INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Tamara Mchedlidze Darren Strash 14.12.2015 Motivation: Meshing PC Board Layouts To simulate the heat produced

### In-Memory Searching. Linear Search. Binary Search. Binary Search Tree. k-d Tree. Hashing. Hash Collisions. Collision Strategies.

In-Memory Searching Linear Search Binary Search Binary Search Tree k-d Tree Hashing Hash Collisions Collision Strategies Chapter 4 Searching A second fundamental operation in Computer Science We review

### 18 Multidimensional Data Structures 1

18 Multidimensional Data Structures 1 Hanan Samet University of Maryland 18.1 Introduction 18.2 PointData 18.3 BucketingMethods 18.4 RegionData 18.5 RectangleData 18.6 LineDataandBoundariesofRegions 18.7

### Data Structures and Algorithms

Data Structures and Algorithms Data Structures static arrays if sorted, supports binary search (O(log n)) linked lists - dynamic size doubly-linked lists - easier deletion queues - FIFO stacks - LIFO dequeues

### Binary Trees. Height 1

Binary Trees Definitions A tree is a finite set of one or more nodes that shows parent-child relationship such that There is a special node called root Remaining nodes are portioned into subsets T1,T2,T3.

### Physical Level of Databases: B+-Trees

Physical Level of Databases: B+-Trees Adnan YAZICI Computer Engineering Department METU (Fall 2005) 1 B + -Tree Index Files l Disadvantage of indexed-sequential files: performance degrades as file grows,

### CSI33 Data Structures

Outline Department of Mathematics and Computer Science Bronx Community College November 13, 2017 Outline Outline 1 C++ Supplement.1: Trees Outline C++ Supplement.1: Trees 1 C++ Supplement.1: Trees Uses

### Fall, 2015 Prof. Jungkeun Park

Data Structures and Algorithms Binary Search Trees Fall, 2015 Prof. Jungkeun Park Copyright Notice: This material is modified version of the lecture slides by Prof. Rada Mihalcea in Univ. of North Texas.

Implementation 1 Of course, the PR quadtree will be implemented as a formal Java generic. However, it may be somewhat less generic than the general BST discussed earlier. During insertion and search, it

### Lecture 11: Multiway and (2,4) Trees. Courtesy to Goodrich, Tamassia and Olga Veksler

Lecture 11: Multiway and (2,4) Trees 9 2 5 7 10 14 Courtesy to Goodrich, Tamassia and Olga Veksler Instructor: Yuzhen Xie Outline Multiway Seach Tree: a new type of search trees: for ordered d dictionary

### Lab Exercise 8 Binary Search Trees

Lab Exercise 8 Binary Search Trees A binary search tree is a binary tree of ordered nodes. The nodes are ordered by some key value, for example: alphabetic or numeric. The left subtree of every node (if

### Multi-way Search Trees! M-Way Search! M-Way Search Trees Representation!

Lecture 10: Multi-way Search Trees: intro to B-trees 2-3 trees 2-3-4 trees Multi-way Search Trees A node on an M-way search tree with M 1 distinct and ordered keys: k 1 < k 2 < k 3

### CSCI2100B Data Structures Trees

CSCI2100B Data Structures Trees Irwin King king@cse.cuhk.edu.hk http://www.cse.cuhk.edu.hk/~king Department of Computer Science & Engineering The Chinese University of Hong Kong Introduction General Tree

### Chapter 17 Indexing Structures for Files and Physical Database Design

Chapter 17 Indexing Structures for Files and Physical Database Design We assume that a file already exists with some primary organization unordered, ordered or hash. The index provides alternate ways to

### Priority Queues. 1 Introduction. 2 Naïve Implementations. CSci 335 Software Design and Analysis III Chapter 6 Priority Queues. Prof.

Priority Queues 1 Introduction Many applications require a special type of queuing in which items are pushed onto the queue by order of arrival, but removed from the queue based on some other priority

### إستخدام األشجار الرباعية و تقسيم المسافة الهرمي

إستخدام األشجار الرباعية و تقسيم المسافة الهرمي أ.م مكي ة كاظم حمد كلية العلوم جامعة بغداد م.م مها شاكر إبراهيم الثالث Abstract A quad tree :is a nonlinear data structure in which each internal node has

### Lecture 3: B-Trees. October Lecture 3: B-Trees

October 2017 Remarks Search trees The dynamic set operations search, minimum, maximum, successor, predecessor, insert and del can be performed efficiently (in O(log n) time) if the search tree is balanced.

### Multiway Search Trees. Multiway-Search Trees (cont d)

Multiway Search Trees Each internal node v of a multi-way search tree T has at least two children contains d-1 items, where d is the number of children of v an item is of the form (k i,x i ) for 1 i d-1,

### CS61B Lecture #21. A Recursive Structure. Fundamental Operation: Traversal. Preorder Traversal and Prefix Expressions. (- (- (* x (+ y 3))) z)

CSB Lecture # A Recursive Structure Today: Trees Readings for Today: Data Structures, Chapter Readings for Next Topic: Data Structures, Chapter Trees naturally represent recursively defined, hierarchical

### Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See for conditions on re-use

Chapter 11: Indexing and Hashing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files Static

### More Hidden Surface Removal

Lecture 8 More Hidden Surface Removal Efficient Painter - binary space partition (BSP) tree Efficient Ray Casting - spatial partitioning (uniform, octrees) - bounding volumes Recall last lecture... front

### Design and Analysis of Algorithms Lecture- 9: B- Trees

Design and Analysis of Algorithms Lecture- 9: B- Trees Dr. Chung- Wen Albert Tsao atsao@svuca.edu www.408codingschool.com/cs502_algorithm 1/12/16 Slide Source: http://www.slideshare.net/anujmodi555/b-trees-in-data-structure

### Trees 11/15/16. Chapter 11. Terminology. Terminology. Terminology. Terminology. Terminology

Chapter 11 Trees Definition of a general tree A general tree T is a set of one or more nodes such that T is partitioned into disjoint subsets: A single node r, the root Sets that are general trees, called

### Dynamic Access Binary Search Trees

Dynamic Access Binary Search Trees 1 * are self-adjusting binary search trees in which the shape of the tree is changed based upon the accesses performed upon the elements. When an element of a splay tree

### Priority Queues and Binary Heaps

Yufei Tao ITEE University of Queensland In this lecture, we will learn our first tree data structure called the binary heap which serves as an implementation of the priority queue. Priority Queue A priority

### ITI Introduction to Computing II

ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Binary search tree (part I) Version of March 24, 2013 Abstract These lecture notes are meant

### CS301 - Data Structures Glossary By

CS301 - Data Structures Glossary By Abstract Data Type : A set of data values and associated operations that are precisely specified independent of any particular implementation. Also known as ADT Algorithm

### Sorting and Selection

Sorting and Selection Introduction Divide and Conquer Merge-Sort Quick-Sort Radix-Sort Bucket-Sort 10-1 Introduction Assuming we have a sequence S storing a list of keyelement entries. The key of the element

### Outline. Computer Science 331. Insertion: An Example. A Recursive Insertion Algorithm. Binary Search Trees Insertion and Deletion.

Outline Computer Science Binary Search Trees Insertion and Deletion Mike Jacobson Department of Computer Science University of Calgary Lecture # 2 BST Deletion Case Case 2 Case Case 4 Complexity Discussion

### CS61B Lecture #20. Today: Trees. Readings for Today: Data Structures, Chapter 5. Readings for Next Topic: Data Structures, Chapter 6

CS61B Lecture #20 Today: Trees Readings for Today: Data Structures, Chapter 5 Readings for Next Topic: Data Structures, Chapter 6 Last modified: Wed Oct 14 03:20:09 2015 CS61B: Lecture #20 1 A Recursive

### Trees. Courtesy to Goodrich, Tamassia and Olga Veksler

Lecture 12: BT Trees Courtesy to Goodrich, Tamassia and Olga Veksler Instructor: Yuzhen Xie Outline B-tree Special case of multiway search trees used when data must be stored on the disk, i.e. too large

### Planar Point Location

C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 04 Date: February 15, 1993 Scribe: John Bazik Planar Point Location 1 Introduction In range searching, a set of values,

### Introduction to Computers and Programming. Concept Question

Introduction to Computers and Programming Prof. I. K. Lundqvist Lecture 7 April 2 2004 Concept Question G1(V1,E1) A graph G(V, where E) is V1 a finite = {}, nonempty E1 = {} set of G2(V2,E2) vertices and

### CMSC351 - Fall 2014, Homework #2

CMSC351 - Fall 2014, Homework #2 Due: October 8th at the start of class Name: Section: Grades depend on neatness and clarity. Write your answers with enough detail about your approach and concepts used,

### Trees, Binary Trees, and Binary Search Trees

COMP171 Trees, Binary Trees, and Binary Search Trees 2 Trees Linear access time of linked lists is prohibitive Does there exist any simple data structure for which the running time of most operations (search,

### CSE 326: Data Structures B-Trees and B+ Trees

Announcements (2/4/09) CSE 26: Data Structures B-Trees and B+ Trees Midterm on Friday Special office hour: 4:00-5:00 Thursday in Jaech Gallery (6 th floor of CSE building) This is in addition to my usual

### CS 171: Introduction to Computer Science II. Binary Search Trees

CS 171: Introduction to Computer Science II Binary Search Trees Binary Search Trees Symbol table applications BST definitions and terminologies Search and insert Traversal Ordered operations Delete Symbol

### Similarity Searching:

Similarity Searching: Indexing, Nearest Neighbor Finding, Dimensionality Reduction, and Embedding Methods, for Applications in Multimedia Databases Hanan Samet hjs@cs.umd.edu Department of Computer Science

### Self-Balancing Search Trees. Chapter 11

Self-Balancing Search Trees Chapter 11 Chapter Objectives To understand the impact that balance has on the performance of binary search trees To learn about the AVL tree for storing and maintaining a binary

### We will show that the height of a RB tree on n vertices is approximately 2*log n. In class I presented a simple structural proof of this claim:

We have seen that the insert operation on a RB takes an amount of time proportional to the number of the levels of the tree (since the additional operations required to do any rebalancing require constant

### 8. Binary Search Tree

8 Binary Search Tree Searching Basic Search Sequential Search : Unordered Lists Binary Search : Ordered Lists Tree Search Binary Search Tree Balanced Search Trees (Skipped) Sequential Search int Seq-Search

### Advanced Java Concepts Unit 5: Trees. Notes and Exercises

Advanced Java Concepts Unit 5: Trees. Notes and Exercises A Tree is a data structure like the figure shown below. We don t usually care about unordered trees but that s where we ll start. Later we will

### - 1 - Handout #22S May 24, 2013 Practice Second Midterm Exam Solutions. CS106B Spring 2013

CS106B Spring 2013 Handout #22S May 24, 2013 Practice Second Midterm Exam Solutions Based on handouts by Eric Roberts and Jerry Cain Problem One: Reversing a Queue One way to reverse the queue is to keep

### A PROBABILISTIC ANALYSIS OF TRIE-BASED SORTING OF LARGE COLLECTIONS OF LINE SEGMENTS IN SPATIAL DATABASES

SIAM J. COMPUT. Vol. 35, No., pp. 58 c 005 Society for Industrial and Applied Mathematics A PROBABILISTIC ANALYSIS OF TRIE-BASED SORTING OF LARGE COLLECTIONS OF LINE SEGMENTS IN SPATIAL DATABASES MICHAEL

### B-Trees & its Variants

B-Trees & its Variants Advanced Data Structure Spring 2007 Zareen Alamgir Motivation Yet another Tree! Why do we need another Tree-Structure? Data Retrieval from External Storage In database programs,

### Binary Search Trees. Contents. Steven J. Zeil. July 11, Definition: Binary Search Trees The Binary Search Tree ADT...

Steven J. Zeil July 11, 2013 Contents 1 Definition: Binary Search Trees 2 1.1 The Binary Search Tree ADT.................................................... 3 2 Implementing Binary Search Trees 7 2.1 Searching

### INF2220: algorithms and data structures Series 1

Universitetet i Oslo Institutt for Informatikk A. Maus, R.K. Runde, I. Yu INF2220: algorithms and data structures Series 1 Topic Trees & estimation of running time (Exercises with hints for solution) Issued:

### Chapter 11: Indexing and Hashing" Chapter 11: Indexing and Hashing"

Chapter 11: Indexing and Hashing" Database System Concepts, 6 th Ed.! Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use " Chapter 11: Indexing and Hashing" Basic Concepts!