EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27

Size: px
Start display at page:

Download "EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27"

Transcription

1 EE602 Algorithms GEOMETRIC INTERSECTION CHAPTER 27

2 The Problem Given a set of N objects, do any two intersect? Objects could be lines, rectangles, circles, polygons, or other geometric objects Simple to evaluate physical objects but takes some effort for a computer Work with only line intersection as base case Consider simple case first and expand implementation

3 Methods Brute force Horizontal and Vertical Lines General Line Intersection

4 Brute Force Check each pair of objects to see if they intersect using ccw Time proportional to O(N 2 ) Not uncommon to deal with very large number of objects

5 Simple case Constrain lines to be horizontal or vertical Apply general strategy for horizontal-vertical case to lines with no constraints Focus on counting problem Algorithms can be extended to return all intersecting pairs

6 Horizontal and Vertical Lines A F B H I C D G E Given a set of N horizontal and vertical lines, do any two intersect?

7 Horizontal and Vertical Lines Properties of line segment defined by P1(x1, y1) and P2(x2, y2): Line segment is vertical if x1 == x2 Line segment is horizontal if y1 == y2 All lines have one of these properties Idea: Sweep scan line from bottom to top Scan line acts like time Line segments must occupy same space in same time to intersect Project Vertical and Horizontal line segments onto scan line Vertical line segments appear as single point Horizontal line segments appear as an interval Intersection found if vertical line segment projection (single point) lies in horizontal line segment (interval) on scan line Reduces problem into one-dimensional range search Does interval contain point?

8 Horizontal and Vertical Lines Build binary search tree (named x-tree) to represent relationships between vertical line segments Node stores lines x coordinates For vertical line segments: If bottom endpoint encountered, add x-coordinate into x- tree If a vertical line is left to the root line, then add it to the left leaf, otherwise add it to right leaf If top endpoint encountered, delete from x-tree For horizontal line segments: Do interval range search using min and max x-coordinates

9 Scan Process F A C H B G D E range I Sort line endpoints by their y-coordinates Each vertical line appears twice in list Each horizontal line appears once For vertical lines Bottom endpoint encountered = insert into tree Top endpoint encountered = delete from tree For horizontal lines Endpoints (L, R) encountered = range search delete delete range delete delete delete delete delete CEDG IBFCHBA IEDHF insert insert insert insert insert insert insert

10 Sweep Scanline CD F HE A F C D B G E H I DB HB HI

11 Y-Tree instead of line sweep Instead of presorting on y-coordinates to get scan order, use binary search tree for initial y sort (called y-tree) y-tree contains all the line endpoints Scan is inorder traversal of y-tree A B D C B E F D C I H E G F H I Figure 27.5 Sorting for scan using the y-tree

12 Generic Program Procedure Intersection (y-tree) Set x-tree null and count 0 Loop If y-tree completes traverse, then return count Set focus Suitable-pick (y-tree) If it is a horizontal line, then RangeSearch x-tree and count the intersection numbers else Update x-tree End-loop Count: record the intersection number Suitable-pick: pick one line s endpoint from y-tree with left priority RangeSearch: take a range search in x-tree for intersection Update: add line to x-tree when encountering the bottom endpoint; delete line from x- tree when encountering the top endpoint

13 Analysis Property 27.1: All intersections among N horizontal and vertical lines can be found in time proportional to N log N + I, where I is the number of intersections Tree manipulations on average take time proportional to log N Range searching depends on total number of intersections Bad-case: cross-hatch pattern Number of intersections proportional to N 2 If I is known to be large, use brute force (N 2 )/2 instead of (N log N + N 2 )

14 General Line Intersection F A C D B E H I G Given a set of N lines, do any two intersect?

15 General Line Intersection Changes Interval range test no longer sufficient, necessary to explicitly test using the line intersect function Sort on (min) y-coordinate to divide space into strips Use binary search tree (BST) to store order of lines Node stores line Proceed through sorted list [same idea as scan] If bottom endpoint encountered, add line to BST If top endpoint encountered, delete line from BST Building tree not that simple

16 Building The Tree Use a more general ordering relationship Line x is to the right of line y if both endpoints of x are on the same side of y as a point infinitely far to the right Or if y is to the left of x Line x is to the left of line x If both endpoints of x are on the same size of y as a point infinitely far to the left Or if y is to the right of x Line comparison can be implemented using ccw procedure

17 CCW Review Slope Comparison Collinear Cases

18 Line Ordering Example B is to the right of F F is to the left of B H is to the right of B B is to the left of H A E I F C D B H G

19 Building the Tree inserting a line Line X Defined by P0(x0, y0) and P1(x1, y1) Already in tree Line Y Defined by P2(x2, y2) and P3(x3, y3) Inserting into tree Comparison Test If ccw(x.p0, X.P1, Y.P2) == ccw(x.p0, X.P1, Y.P3) == counterclockwise Insert Y as left child of X If ccw(x.p0, X.P1, Y.P2) == ccw(x.p0, X.P1, Y.P3) == clockwise Insert Y as right child of X If ccw(x.p0, X.P1, Y.P2)!= ccw(x.p0, X.P1, Y.P3) Lines must intersect

20 Building the tree comparison operation The ordering relationship between lines for the binary tree is more complicated Comparison operation is not transitive E I A F is the left of B, B is to the left of D, F D but F is not to the left of D C B H G

21 Building the tree tree manipulation Insertion: Starting at root, compare line Each comparison performed during the tree manipulation procedures is a line-intersection test Deletion: Explicitly test the 2 children of the line being deleted, because comparison is not transitive We must test explicitly that comparisons are valid each time we change the tree structure. Default BST assumes transitivity

22 General Line Intersection CD B E I F H A DB G D F G C B H

23 What happens after intersection? A E I The y values is likely to be different between the intersection point and line endpoints F C D B H G D and F should swap places after the point of intersection

24 After Intersection Problem: After a point of intersection, the two lines should swap places Solution 1: use priority queue instead of binary tree for sort on y-coordinate Work the scan line by taking the smallest y-coordinate When intersection is found, add new entries for each line using the intersection point as the lower endpoints Solution 2: remove one of the intersecting lines when intersection found Appropriate if not too many intersections expected All intersecting pairs must involve removed line After scan is complete, use brute-force to enumerate all intersections

25 Analysis All intersections among N lines can be found in time proportional to (N+I) log N I is the number of intersections log N for tree manipulations If there is an intersection, we need to add two new lines endpoint into the priority queue, so we have N+I lines.

26 General geometric shapes Rectangles Defined by four lines Define to the left of and to the right of X is left of Y is right edge of X is left of the left edge of Y Circles Circle defined as center coordinate and radius Use center coordinate to order and compare distance between centers and distance between radii Brute force

Computational Geometry. Lecture 1: Introduction and Convex Hulls

Computational Geometry. Lecture 1: Introduction and Convex Hulls Lecture 1: Introduction and convex hulls 1 Geometry: points, lines,... Plane (two-dimensional), R 2 Space (three-dimensional), R 3 Space (higher-dimensional), R d A point in the plane, 3-dimensional space,

More information

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list Scan-Line Fill Can also fill by maintaining a data structure of all intersections of polygons with scan lines Sort by scan line Fill each span vertex order generated by vertex list desired order Scan-Line

More information

Binary Heaps. CSE 373 Data Structures

Binary Heaps. CSE 373 Data Structures Binary Heaps CSE Data Structures Readings Chapter Section. Binary Heaps BST implementation of a Priority Queue Worst case (degenerate tree) FindMin, DeleteMin and Insert (k) are all O(n) Best case (completely

More information

Binary Heaps * * * * * * * / / \ / \ / \ / \ / \ * * * * * * * * * * * / / \ / \ / / \ / \ * * * * * * * * * *

Binary Heaps * * * * * * * / / \ / \ / \ / \ / \ * * * * * * * * * * * / / \ / \ / / \ / \ * * * * * * * * * * Binary Heaps A binary heap is another data structure. It implements a priority queue. Priority Queue has the following operations: isempty add (with priority) remove (highest priority) peek (at highest

More information

Binary Search Trees. A Generic Tree. Binary Trees. Nodes in a binary search tree ( B-S-T) are of the form. P parent. Key. Satellite data L R

Binary Search Trees. A Generic Tree. Binary Trees. Nodes in a binary search tree ( B-S-T) are of the form. P parent. Key. Satellite data L R Binary Search Trees A Generic Tree Nodes in a binary search tree ( B-S-T) are of the form P parent Key A Satellite data L R B C D E F G H I J The B-S-T has a root node which is the only node whose parent

More information

28 Closest-Point Problems -------------------------------------------------------------------

28 Closest-Point Problems ------------------------------------------------------------------- 28 Closest-Point Problems ------------------------------------------------------------------- Geometric problems involving points on the plane usually involve implicit or explicit treatment of distances

More information

Shortest Path Algorithms

Shortest Path Algorithms Shortest Path Algorithms Jaehyun Park CS 97SI Stanford University June 29, 2015 Outline Cross Product Convex Hull Problem Sweep Line Algorithm Intersecting Half-planes Notes on Binary/Ternary Search Cross

More information

Closest Pair Problem

Closest Pair Problem Closest Pair Problem Given n points in d-dimensions, find two whose mutual distance is smallest. Fundamental problem in many applications as well as a key step in many algorithms. p q A naive algorithm

More information

Analysis of Algorithms I: Binary Search Trees

Analysis of Algorithms I: Binary Search Trees Analysis of Algorithms I: Binary Search Trees Xi Chen Columbia University Hash table: A data structure that maintains a subset of keys from a universe set U = {0, 1,..., p 1} and supports all three dictionary

More information

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection

Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection Algorithms ROBERT SEDGEWICK KEVIN WAYNE GEOMETRIC APPLICATIONS OF BSTS Algorithms F O U R T H E D I T I O N ROBERT SEDGEWICK KEVIN WAYNE 1d range search line segment intersection kd trees interval search

More information

Computational Geometry: Line segment intersection

Computational Geometry: Line segment intersection : Line segment intersection Panos Giannopoulos Wolfgang Mulzer Lena Schlipf AG TI SS 2013 Tutorial room change: 055 this building!!! (from next monday on) Outline Motivation Line segment intersection (and

More information

root node level: internal node edge leaf node CS@VT Data Structures & Algorithms 2000-2009 McQuain

root node level: internal node edge leaf node CS@VT Data Structures & Algorithms 2000-2009 McQuain inary 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 each

More information

Data Structure [Question Bank]

Data Structure [Question Bank] Unit I (Analysis of Algorithms) 1. What are algorithms and how they are useful? 2. Describe the factor on best algorithms depends on? 3. Differentiate: Correct & Incorrect Algorithms? 4. Write short note:

More information

SOLIDWORKS: SKETCH RELATIONS

SOLIDWORKS: SKETCH RELATIONS Sketch Feature: The shape or topology of the initial sketch or model is important, but exact geometry and dimensions of the initial sketched shapes are NOT. It recommended to work in the following order:

More information

Persistent Data Structures and Planar Point Location

Persistent Data Structures and Planar Point Location Persistent Data Structures and Planar Point Location Inge Li Gørtz Persistent Data Structures Ephemeral Partial persistence Full persistence Confluent persistence V1 V1 V1 V1 V2 q ue V2 V2 V5 V2 V4 V4

More information

5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes.

5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes. 1. The advantage of.. is that they solve the problem if sequential storage representation. But disadvantage in that is they are sequential lists. [A] Lists [B] Linked Lists [A] Trees [A] Queues 2. The

More information

Ordered Lists and Binary Trees

Ordered Lists and Binary Trees Data Structures and Algorithms Ordered Lists and Binary Trees Chris Brooks Department of Computer Science University of San Francisco Department of Computer Science University of San Francisco p.1/62 6-0:

More information

Line and Polygon Clipping. Foley & Van Dam, Chapter 3

Line and Polygon Clipping. Foley & Van Dam, Chapter 3 Line and Polygon Clipping Foley & Van Dam, Chapter 3 Topics Viewing Transformation Pipeline in 2D Line and polygon clipping Brute force analytic solution Cohen-Sutherland Line Clipping Algorithm Cyrus-Beck

More information

Previous Lectures. B-Trees. External storage. Two types of memory. B-trees. Main principles

Previous Lectures. B-Trees. External storage. Two types of memory. B-trees. Main principles B-Trees Algorithms and data structures for external memory as opposed to the main memory B-Trees Previous Lectures Height balanced binary search trees: AVL trees, red-black trees. Multiway search trees:

More information

Vector storage and access; algorithms in GIS. This is lecture 6

Vector storage and access; algorithms in GIS. This is lecture 6 Vector storage and access; algorithms in GIS This is lecture 6 Vector data storage and access Vectors are built from points, line and areas. (x,y) Surface: (x,y,z) Vector data access Access to vector

More information

Binary Search Trees (BST)

Binary Search Trees (BST) Binary Search Trees (BST) 1. Hierarchical data structure with a single reference to node 2. Each node has at most two child nodes (a left and a right child) 3. Nodes are organized by the Binary Search

More information

INTERSECTION OF LINE-SEGMENTS

INTERSECTION OF LINE-SEGMENTS INTERSECTION OF LINE-SEGMENTS Vera Sacristán Discrete and Algorithmic Geometry Facultat de Matemàtiques i Estadística Universitat Politècnica de Catalunya Problem Input: n line-segments in the plane,

More information

CK-12 Geometry: Parts of Circles and Tangent Lines

CK-12 Geometry: Parts of Circles and Tangent Lines CK-12 Geometry: Parts of Circles and Tangent Lines Learning Objectives Define circle, center, radius, diameter, chord, tangent, and secant of a circle. Explore the properties of tangent lines and circles.

More information

5.4 Closest Pair of Points

5.4 Closest Pair of Points 5.4 Closest Pair of Points Closest Pair of Points Closest pair. Given n points in the plane, find a pair with smallest Euclidean distance between them. Fundamental geometric primitive. Graphics, computer

More information

Data Structures and Algorithms

Data Structures and Algorithms Data Structures and Algorithms CS245-2016S-06 Binary Search Trees David Galles Department of Computer Science University of San Francisco 06-0: Ordered List ADT Operations: Insert an element in the list

More information

Lecture 6: Binary Search Trees CSCI 700 - Algorithms I. Andrew Rosenberg

Lecture 6: Binary Search Trees CSCI 700 - Algorithms I. Andrew Rosenberg Lecture 6: Binary Search Trees CSCI 700 - Algorithms I Andrew Rosenberg Last Time Linear Time Sorting Counting Sort Radix Sort Bucket Sort Today Binary Search Trees Data Structures Data structure is a

More information

From Last Time: Remove (Delete) Operation

From Last Time: Remove (Delete) Operation CSE 32 Lecture : More on Search Trees Today s Topics: Lazy Operations Run Time Analysis of Binary Search Tree Operations Balanced Search Trees AVL Trees and Rotations Covered in Chapter of the text From

More information

MATHEMATICAL ENGINEERING TECHNICAL REPORTS. The Best-fit Heuristic for the Rectangular Strip Packing Problem: An Efficient Implementation

MATHEMATICAL ENGINEERING TECHNICAL REPORTS. The Best-fit Heuristic for the Rectangular Strip Packing Problem: An Efficient Implementation MATHEMATICAL ENGINEERING TECHNICAL REPORTS The Best-fit Heuristic for the Rectangular Strip Packing Problem: An Efficient Implementation Shinji IMAHORI, Mutsunori YAGIURA METR 2007 53 September 2007 DEPARTMENT

More information

B-Trees. Algorithms and data structures for external memory as opposed to the main memory B-Trees. B -trees

B-Trees. Algorithms and data structures for external memory as opposed to the main memory B-Trees. B -trees B-Trees Algorithms and data structures for external memory as opposed to the main memory B-Trees Previous Lectures Height balanced binary search trees: AVL trees, red-black trees. Multiway search trees:

More information

MAX = 5 Current = 0 'This will declare an array with 5 elements. Inserting a Value onto the Stack (Push) -----------------------------------------

MAX = 5 Current = 0 'This will declare an array with 5 elements. Inserting a Value onto the Stack (Push) ----------------------------------------- =============================================================================================================================== DATA STRUCTURE PSEUDO-CODE EXAMPLES (c) Mubashir N. Mir - www.mubashirnabi.com

More information

A binary search tree is a binary tree with a special property called the BST-property, which is given as follows:

A binary search tree is a binary tree with a special property called the BST-property, which is given as follows: Chapter 12: Binary Search Trees A binary search tree is a binary tree with a special property called the BST-property, which is given as follows: For all nodes x and y, if y belongs to the left subtree

More information

How To Create A Tree From A Tree In Runtime (For A Tree)

How To Create A Tree From A Tree In Runtime (For A Tree) Binary Search Trees < 6 2 > = 1 4 8 9 Binary Search Trees 1 Binary Search Trees A binary search tree is a binary tree storing keyvalue entries at its internal nodes and satisfying the following property:

More information

SolidWorks Implementation Guides. Sketching Concepts

SolidWorks Implementation Guides. Sketching Concepts SolidWorks Implementation Guides Sketching Concepts Sketching in SolidWorks is the basis for creating features. Features are the basis for creating parts, which can be put together into assemblies. Sketch

More information

Algorithms Chapter 12 Binary Search Trees

Algorithms Chapter 12 Binary Search Trees Algorithms Chapter 1 Binary Search Trees Outline Assistant Professor: Ching Chi Lin 林 清 池 助 理 教 授 chingchi.lin@gmail.com Department of Computer Science and Engineering National Taiwan Ocean University

More information

Area. Area Overview. Define: Area:

Area. Area Overview. Define: Area: Define: Area: Area Overview Kite: Parallelogram: Rectangle: Rhombus: Square: Trapezoid: Postulates/Theorems: Every closed region has an area. If closed figures are congruent, then their areas are equal.

More information

A binary search tree or BST is a binary tree that is either empty or in which the data element of each node has a key, and:

A binary search tree or BST is a binary tree that is either empty or in which the data element of each node has a key, and: Binary Search Trees 1 The general binary tree shown in the previous chapter is not terribly useful in practice. The chief use of binary trees is for providing rapid access to data (indexing, if you will)

More information

Understand the Sketcher workbench of CATIA V5.

Understand the Sketcher workbench of CATIA V5. Chapter 1 Drawing Sketches in Learning Objectives the Sketcher Workbench-I After completing this chapter you will be able to: Understand the Sketcher workbench of CATIA V5. Start a new file in the Part

More information

New York State Student Learning Objective: Regents Geometry

New York State Student Learning Objective: Regents Geometry New York State Student Learning Objective: Regents Geometry All SLOs MUST include the following basic components: Population These are the students assigned to the course section(s) in this SLO all students

More information

7.4A/7.4B STUDENT ACTIVITY #1

7.4A/7.4B STUDENT ACTIVITY #1 7.4A/7.4B STUDENT ACTIVITY #1 Write a formula that could be used to find the radius of a circle, r, given the circumference of the circle, C. The formula in the Grade 7 Mathematics Chart that relates the

More information

Why Use Binary Trees?

Why Use Binary Trees? Binary Search Trees Why Use Binary Trees? Searches are an important application. What other searches have we considered? brute force search (with array or linked list) O(N) binarysearch with a pre-sorted

More information

Approximation of an Open Polygonal Curve with a Minimum Number of Circular Arcs and Biarcs

Approximation of an Open Polygonal Curve with a Minimum Number of Circular Arcs and Biarcs Approximation of an Open Polygonal Curve with a Minimum Number of Circular Arcs and Biarcs R. L. Scot Drysdale a Günter Rote b,1 Astrid Sturm b,1 a Department of Computer Science, Dartmouth College b Institut

More information

PROBLEM SET. Practice Problems for Exam #1. Math 1352, Fall 2004. Oct. 1, 2004 ANSWERS

PROBLEM SET. Practice Problems for Exam #1. Math 1352, Fall 2004. Oct. 1, 2004 ANSWERS PROBLEM SET Practice Problems for Exam # Math 352, Fall 24 Oct., 24 ANSWERS i Problem. vlet R be the region bounded by the curves x = y 2 and y = x. A. Find the volume of the solid generated by revolving

More information

39 Symmetry of Plane Figures

39 Symmetry of Plane Figures 39 Symmetry of Plane Figures In this section, we are interested in the symmetric properties of plane figures. By a symmetry of a plane figure we mean a motion of the plane that moves the figure so that

More information

Grade 7 & 8 Math Circles Circles, Circles, Circles March 19/20, 2013

Grade 7 & 8 Math Circles Circles, Circles, Circles March 19/20, 2013 Faculty of Mathematics Waterloo, Ontario N2L 3G Introduction Grade 7 & 8 Math Circles Circles, Circles, Circles March 9/20, 203 The circle is a very important shape. In fact of all shapes, the circle is

More information

Converting a Number from Decimal to Binary

Converting a Number from Decimal to Binary Converting a Number from Decimal to Binary Convert nonnegative integer in decimal format (base 10) into equivalent binary number (base 2) Rightmost bit of x Remainder of x after division by two Recursive

More information

6 March 2007 1. Array Implementation of Binary Trees

6 March 2007 1. Array Implementation of Binary Trees Heaps CSE 0 Winter 00 March 00 1 Array Implementation of Binary Trees Each node v is stored at index i defined as follows: If v is the root, i = 1 The left child of v is in position i The right child of

More information

Chapter 14 The Binary Search Tree

Chapter 14 The Binary Search Tree Chapter 14 The Binary Search Tree In Chapter 5 we discussed the binary search algorithm, which depends on a sorted vector. Although the binary search, being in O(lg(n)), is very efficient, inserting a

More information

Binary Heap Algorithms

Binary Heap Algorithms CS Data Structures and Algorithms Lecture Slides Wednesday, April 5, 2009 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks CHAPPELLG@member.ams.org 2005 2009 Glenn G. Chappell

More information

R-trees. R-Trees: A Dynamic Index Structure For Spatial Searching. R-Tree. Invariants

R-trees. R-Trees: A Dynamic Index Structure For Spatial Searching. R-Tree. Invariants R-Trees: A Dynamic Index Structure For Spatial Searching A. Guttman R-trees Generalization of B+-trees to higher dimensions Disk-based index structure Occupancy guarantee Multiple search paths Insertions

More information

Cabri Geometry Application User Guide

Cabri Geometry Application User Guide Cabri Geometry Application User Guide Preview of Geometry... 2 Learning the Basics... 3 Managing File Operations... 12 Setting Application Preferences... 14 Selecting and Moving Objects... 17 Deleting

More information

TREE BASIC TERMINOLOGIES

TREE BASIC TERMINOLOGIES TREE Trees are very flexible, versatile and powerful non-liner data structure that can be used to represent data items possessing hierarchical relationship between the grand father and his children and

More information

Binary Search Trees CMPSC 122

Binary Search Trees CMPSC 122 Binary Search Trees CMPSC 122 Note: This notes packet has significant overlap with the first set of trees notes I do in CMPSC 360, but goes into much greater depth on turning BSTs into pseudocode than

More information

Binary Search Trees 3/20/14

Binary Search Trees 3/20/14 Binary Search Trees 3/0/4 Presentation for use ith the textbook Data Structures and Algorithms in Java, th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldasser, Wiley, 04 Binary Search Trees 4

More information

Binary Trees and Huffman Encoding Binary Search Trees

Binary Trees and Huffman Encoding Binary Search Trees Binary Trees and Huffman Encoding Binary Search Trees Computer Science E119 Harvard Extension School Fall 2012 David G. Sullivan, Ph.D. Motivation: Maintaining a Sorted Collection of Data A data dictionary

More information

1. Then f has a relative maximum at x = c if f(c) f(x) for all values of x in some

1. Then f has a relative maximum at x = c if f(c) f(x) for all values of x in some Section 3.1: First Derivative Test Definition. Let f be a function with domain D. 1. Then f has a relative maximum at x = c if f(c) f(x) for all values of x in some open interval containing c. The number

More information

Common Core Unit Summary Grades 6 to 8

Common Core Unit Summary Grades 6 to 8 Common Core Unit Summary Grades 6 to 8 Grade 8: Unit 1: Congruence and Similarity- 8G1-8G5 rotations reflections and translations,( RRT=congruence) understand congruence of 2 d figures after RRT Dilations

More information

Home Page. Data Structures. Title Page. Page 1 of 24. Go Back. Full Screen. Close. Quit

Home Page. Data Structures. Title Page. Page 1 of 24. Go Back. Full Screen. Close. Quit Data Structures Page 1 of 24 A.1. Arrays (Vectors) n-element vector start address + ielementsize 0 +1 +2 +3 +4... +n-1 start address continuous memory block static, if size is known at compile time dynamic,

More information

Arrangements And Duality

Arrangements And Duality Arrangements And Duality 3.1 Introduction 3 Point configurations are tbe most basic structure we study in computational geometry. But what about configurations of more complicated shapes? For example,

More information

Sample Questions Csci 1112 A. Bellaachia

Sample Questions Csci 1112 A. Bellaachia Sample Questions Csci 1112 A. Bellaachia Important Series : o S( N) 1 2 N N i N(1 N) / 2 i 1 o Sum of squares: N 2 N( N 1)(2N 1) N i for large N i 1 6 o Sum of exponents: N k 1 k N i for large N and k

More information

GEOMETRY COMMON CORE STANDARDS

GEOMETRY COMMON CORE STANDARDS 1st Nine Weeks Experiment with transformations in the plane G-CO.1 Know precise definitions of angle, circle, perpendicular line, parallel line, and line segment, based on the undefined notions of point,

More information

Introduction to CATIA V5

Introduction to CATIA V5 Introduction to CATIA V5 Release 16 (A Hands-On Tutorial Approach) Kirstie Plantenberg University of Detroit Mercy SDC PUBLICATIONS Schroff Development Corporation www.schroff.com www.schroff-europe.com

More information

Lecture 8 : Coordinate Geometry. The coordinate plane The points on a line can be referenced if we choose an origin and a unit of 20

Lecture 8 : Coordinate Geometry. The coordinate plane The points on a line can be referenced if we choose an origin and a unit of 20 Lecture 8 : Coordinate Geometry The coordinate plane The points on a line can be referenced if we choose an origin and a unit of 0 distance on the axis and give each point an identity on the corresponding

More information

Algebra Geometry Glossary. 90 angle

Algebra Geometry Glossary. 90 angle lgebra Geometry Glossary 1) acute angle an angle less than 90 acute angle 90 angle 2) acute triangle a triangle where all angles are less than 90 3) adjacent angles angles that share a common leg Example:

More information

Heaps & Priority Queues in the C++ STL 2-3 Trees

Heaps & Priority Queues in the C++ STL 2-3 Trees Heaps & Priority Queues in the C++ STL 2-3 Trees CS 3 Data Structures and Algorithms Lecture Slides Friday, April 7, 2009 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks

More information

A binary heap is a complete binary tree, where each node has a higher priority than its children. This is called heap-order property

A binary heap is a complete binary tree, where each node has a higher priority than its children. This is called heap-order property CmSc 250 Intro to Algorithms Chapter 6. Transform and Conquer Binary Heaps 1. Definition A binary heap is a complete binary tree, where each node has a higher priority than its children. This is called

More information

Chapter 1. Creating Sketches in. the Sketch Mode-I. Evaluation chapter. Logon to www.cadcim.com for more details. Learning Objectives

Chapter 1. Creating Sketches in. the Sketch Mode-I. Evaluation chapter. Logon to www.cadcim.com for more details. Learning Objectives Chapter 1 Creating Sketches in Learning Objectives the Sketch Mode-I After completing this chapter you will be able to: Use various tools to create a geometry. Dimension a sketch. Apply constraints to

More information

Operations: search;; min;; max;; predecessor;; successor. Time O(h) with h height of the tree (more on later).

Operations: search;; min;; max;; predecessor;; successor. Time O(h) with h height of the tree (more on later). Binary search tree Operations: search;; min;; max;; predecessor;; successor. Time O(h) with h height of the tree (more on later). Data strutcure fields usually include for a given node x, the following

More information

Geometry Enduring Understandings Students will understand 1. that all circles are similar.

Geometry Enduring Understandings Students will understand 1. that all circles are similar. High School - Circles Essential Questions: 1. Why are geometry and geometric figures relevant and important? 2. How can geometric ideas be communicated using a variety of representations? ******(i.e maps,

More information

2.3 WINDOW-TO-VIEWPORT COORDINATE TRANSFORMATION

2.3 WINDOW-TO-VIEWPORT COORDINATE TRANSFORMATION 2.3 WINDOW-TO-VIEWPORT COORDINATE TRANSFORMATION A world-coordinate area selected for display is called a window. An area on a display device to which a window is mapped is called a viewport. The window

More information

Angles that are between parallel lines, but on opposite sides of a transversal.

Angles that are between parallel lines, but on opposite sides of a transversal. GLOSSARY Appendix A Appendix A: Glossary Acute Angle An angle that measures less than 90. Acute Triangle Alternate Angles A triangle that has three acute angles. Angles that are between parallel lines,

More information

1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++

1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ Answer the following 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ 2) Which data structure is needed to convert infix notations to postfix notations? Stack 3) The

More information

Questions 1 through 25 are worth 2 points each. Choose one best answer for each.

Questions 1 through 25 are worth 2 points each. Choose one best answer for each. Questions 1 through 25 are worth 2 points each. Choose one best answer for each. 1. For the singly linked list implementation of the queue, where are the enqueues and dequeues performed? c a. Enqueue in

More information

Triangulation by Ear Clipping

Triangulation by Ear Clipping Triangulation by Ear Clipping David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: November 18, 2002 Last Modified: August 16, 2015 Contents

More information

Quickstart for Desktop Version

Quickstart for Desktop Version Quickstart for Desktop Version What is GeoGebra? Dynamic Mathematics Software in one easy-to-use package For learning and teaching at all levels of education Joins interactive 2D and 3D geometry, algebra,

More information

Solutions to Homework 6

Solutions to Homework 6 Solutions to Homework 6 Debasish Das EECS Department, Northwestern University ddas@northwestern.edu 1 Problem 5.24 We want to find light spanning trees with certain special properties. Given is one example

More information

Linear Programming Problems

Linear Programming Problems Linear Programming Problems Linear programming problems come up in many applications. In a linear programming problem, we have a function, called the objective function, which depends linearly on a number

More information

External Memory Geometric Data Structures

External Memory Geometric Data Structures External Memory Geometric Data Structures Lars Arge Department of Computer Science University of Aarhus and Duke University Augues 24, 2005 1 Introduction Many modern applications store and process datasets

More information

Closest Pair of Points. Kleinberg and Tardos Section 5.4

Closest Pair of Points. Kleinberg and Tardos Section 5.4 Closest Pair of Points Kleinberg and Tardos Section 5.4 Closest Pair of Points Closest pair. Given n points in the plane, find a pair with smallest Euclidean distance between them. Fundamental geometric

More information

Tables so far. set() get() delete() BST Average O(lg n) O(lg n) O(lg n) Worst O(n) O(n) O(n) RB Tree Average O(lg n) O(lg n) O(lg n)

Tables so far. set() get() delete() BST Average O(lg n) O(lg n) O(lg n) Worst O(n) O(n) O(n) RB Tree Average O(lg n) O(lg n) O(lg n) Hash Tables Tables so far set() get() delete() BST Average O(lg n) O(lg n) O(lg n) Worst O(n) O(n) O(n) RB Tree Average O(lg n) O(lg n) O(lg n) Worst O(lg n) O(lg n) O(lg n) Table naïve array implementation

More information

Fast Sequential Summation Algorithms Using Augmented Data Structures

Fast Sequential Summation Algorithms Using Augmented Data Structures Fast Sequential Summation Algorithms Using Augmented Data Structures Vadim Stadnik vadim.stadnik@gmail.com Abstract This paper provides an introduction to the design of augmented data structures that offer

More information

Big Data and Scripting. Part 4: Memory Hierarchies

Big Data and Scripting. Part 4: Memory Hierarchies 1, Big Data and Scripting Part 4: Memory Hierarchies 2, Model and Definitions memory size: M machine words total storage (on disk) of N elements (N is very large) disk size unlimited (for our considerations)

More information

Planar Curve Intersection

Planar Curve Intersection Chapter 7 Planar Curve Intersection Curve intersection involves finding the points at which two planar curves intersect. If the two curves are parametric, the solution also identifies the parameter values

More information

The ADT Binary Search Tree

The ADT Binary Search Tree The ADT Binary Search Tree The Binary Search Tree is a particular type of binary tree that enables easy searching for specific items. Definition The ADT Binary Search Tree is a binary tree which has an

More information

International Journal of Software and Web Sciences (IJSWS) www.iasir.net

International Journal of Software and Web Sciences (IJSWS) www.iasir.net International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) ISSN (Print): 2279-0063 ISSN (Online): 2279-0071 International

More information

KTH Challenge 2013. Solutions. Further Information KTH Challenge 2013. April 21, 2013

KTH Challenge 2013. Solutions. Further Information KTH Challenge 2013. April 21, 2013 April 21, Jury Lukáš Poláček (, Spotify), head of jury Per Austrin () Oskar Werkelin Ahlin (Spotify) Ulf Lundström () Marc Vinyals () Erik Aas () Emma Enström () Andreas Lundblad () B Peragrams Only one

More information

Geometry. Higher Mathematics Courses 69. Geometry

Geometry. Higher Mathematics Courses 69. Geometry The fundamental purpose of the course is to formalize and extend students geometric experiences from the middle grades. This course includes standards from the conceptual categories of and Statistics and

More information

The GeoMedia Fusion Validate Geometry command provides the GUI for detecting geometric anomalies on a single feature.

The GeoMedia Fusion Validate Geometry command provides the GUI for detecting geometric anomalies on a single feature. The GeoMedia Fusion Validate Geometry command provides the GUI for detecting geometric anomalies on a single feature. Below is a discussion of the Standard Advanced Validate Geometry types. Empty Geometry

More information

Solving Geometric Problems with the Rotating Calipers *

Solving Geometric Problems with the Rotating Calipers * Solving Geometric Problems with the Rotating Calipers * Godfried Toussaint School of Computer Science McGill University Montreal, Quebec, Canada ABSTRACT Shamos [1] recently showed that the diameter of

More information

DATA STRUCTURES USING C

DATA STRUCTURES USING C DATA STRUCTURES USING C QUESTION BANK UNIT I 1. Define data. 2. Define Entity. 3. Define information. 4. Define Array. 5. Define data structure. 6. Give any two applications of data structures. 7. Give

More information

2012 Ward s Natural Science

2012 Ward s Natural Science 2012 Ward s Natural Science Contents Recommended System Requirements...3 Additional Assistance...3 QUICK START GUIDE Installation Instructions...4 How It Works...5 Your First View...6 Navigating the Library...7

More information

Internet Packet Filter Management and Rectangle Geometry

Internet Packet Filter Management and Rectangle Geometry Internet Packet Filter Management and Rectangle Geometry David Eppstein S. Muthukrishnan Abstract We consider rule sets for internet packet routing and filtering, where each rule consists of a range of

More information

Face detection is a process of localizing and extracting the face region from the

Face detection is a process of localizing and extracting the face region from the Chapter 4 FACE NORMALIZATION 4.1 INTRODUCTION Face detection is a process of localizing and extracting the face region from the background. The detected face varies in rotation, brightness, size, etc.

More information

Shortest Inspection-Path. Queries in Simple Polygons

Shortest Inspection-Path. Queries in Simple Polygons Shortest Inspection-Path Queries in Simple Polygons Christian Knauer, Günter Rote B 05-05 April 2005 Shortest Inspection-Path Queries in Simple Polygons Christian Knauer, Günter Rote Institut für Informatik,

More information

Outline BST Operations Worst case Average case Balancing AVL Red-black B-trees. Binary Search Trees. Lecturer: Georgy Gimel farb

Outline BST Operations Worst case Average case Balancing AVL Red-black B-trees. Binary Search Trees. Lecturer: Georgy Gimel farb Binary Search Trees Lecturer: Georgy Gimel farb COMPSCI 220 Algorithms and Data Structures 1 / 27 1 Properties of Binary Search Trees 2 Basic BST operations The worst-case time complexity of BST operations

More information

Session 5 Dissections and Proof

Session 5 Dissections and Proof Key Terms for This Session Session 5 Dissections and Proof Previously Introduced midline parallelogram quadrilateral rectangle side-angle-side (SAS) congruence square trapezoid vertex New in This Session

More information

Algorithms and Data Structures Written Exam Proposed SOLUTION

Algorithms and Data Structures Written Exam Proposed SOLUTION Algorithms and Data Structures Written Exam Proposed SOLUTION 2005-01-07 from 09:00 to 13:00 Allowed tools: A standard calculator. Grading criteria: You can get at most 30 points. For an E, 15 points are

More information

Symbol Tables. Introduction

Symbol Tables. Introduction Symbol Tables Introduction A compiler needs to collect and use information about the names appearing in the source program. This information is entered into a data structure called a symbol table. The

More information

Data Structures and Algorithm Analysis (CSC317) Intro/Review of Data Structures Focus on dynamic sets

Data Structures and Algorithm Analysis (CSC317) Intro/Review of Data Structures Focus on dynamic sets Data Structures and Algorithm Analysis (CSC317) Intro/Review of Data Structures Focus on dynamic sets We ve been talking a lot about efficiency in computing and run time. But thus far mostly ignoring data

More information

Social Media Mining. Graph Essentials

Social Media Mining. Graph Essentials Graph Essentials Graph Basics Measures Graph and Essentials Metrics 2 2 Nodes and Edges A network is a graph nodes, actors, or vertices (plural of vertex) Connections, edges or ties Edge Node Measures

More information

Readings this week. 1 Parametric Equations Supplement. 2 Section 10.1. 3 Sections 2.1-2.2. Professor Christopher Hoffman Math 124

Readings this week. 1 Parametric Equations Supplement. 2 Section 10.1. 3 Sections 2.1-2.2. Professor Christopher Hoffman Math 124 Readings this week 1 Parametric Equations Supplement 2 Section 10.1 3 Sections 2.1-2.2 Precalculus Review Quiz session Thursday equations of lines and circles worksheet available at http://www.math.washington.edu/

More information