On Minimizing Crossings in Storyline Visualizations
|
|
- Gwenda Horton
- 5 years ago
- Views:
Transcription
1 On Minimizing Crossings in Storyline Visualizations Irina Kostitsyna Martin No llenburg Valentin Polishchuk Andre Schulz Darren Strash CC BY-NC 2.5 Kostitsyna, No llenburg, V.and Polishchuk, A. Schulz, KIT I. University of the StateM. of Baden-Wuerttemberg National of the Helmholtz Association OnLaboratory Minimizing Crossings in Storyline Visualizations D. Strash:
2 Storyline Visualizations Input: A story (e.g., movie, play, etc.): set of n characters and their interactions over time (m meetings) Output: Visualization of character interactions x-axis! time Characters! curves monotone w.r.t time (no time travel) Curves converge during an interaction, and diverge otherwise a b c d time
3 Storyline Visualizations Input: A story (e.g., movie, play, etc.): set of n characters and their interactions over time (m meetings) Output: Visualization of character interactions x-axis! time Characters! curves monotone w.r.t time (no time travel) Curves converge during an interaction, and diverge otherwise a b c Meetings have start and end times d time
4 Previous Results Draw pretty pictures! minimize crossings between curves NP-hard in general! reduction from BIPARTITE CROSSING NUMBER! In practice: Layered graph drawing! try permutations of curve ordering [Sugiyama et al. 8] Heuristics to minimize crossings, wiggles, and gaps [Tanahashi et al. 2, Muelder et al. 3] 2
5 Towards a Theoretical Understanding of Storylines Almost no existing theoretical results! Many interesting questions... Among them: Can we bound the number of crossings? Fixed-parameter tractable (FPT) for realistic inputs? 3
6 Towards a Theoretical Understanding of Storylines Almost no existing theoretical results! Many interesting questions... Among them: Can we bound the number of crossings? Yes! We show: matching upper and lower bounds for a special case Fixed-parameter tractable (FPT) for realistic inputs? Yes! We show:! FPT on # characters k 3
7 Pairwise One-Time Meetings We consider a special case: meetings are restricted to two characters these characters meet only once Event graph: characters! vertices, meetings! edges a pairwise one-time meetings a event graph b b c d d c 4
8 Pairwise One-Time Meetings We consider a special case: meetings are restricted to two characters these characters meet only once Event graph: characters! vertices, meetings! edges a pairwise one-time meetings a event graph b b c d d c We further restrict to the case where the event graph is a tree. 4
9 Algorithm for O(n log n) Crossings Intuition: Full binary tree can be drawn with O(n log n) crossings Achieve the same bound for arbitrary trees using a heavy path decomposition 5
10 Algorithm for O(n log n) Crossings Intuition: Full binary tree can be drawn with O(n log n) crossings Achieve the same bound for arbitrary trees using a heavy path decomposition 5
11 Algorithm for O(n log n) Crossings Intuition: Full binary tree can be drawn with O(n log n) crossings Achieve the same bound for arbitrary trees using a heavy path decomposition 5
12 Algorithm for O(n log n) Crossings Intuition: Full binary tree can be drawn with O(n log n) crossings Achieve the same bound for arbitrary trees using a heavy path decomposition 5
13 Algorithm for O(n log n) Crossings Intuition: Full binary tree can be drawn with O(n log n) crossings Achieve the same bound for arbitrary trees using a heavy path decomposition 5
14 Algorithm for O(n log n) Crossings Intuition: Full binary tree can be drawn with O(n log n) crossings Achieve the same bound for arbitrary trees using a heavy path decomposition Observation: Build bottom-up! draw subtree and connect with root. 5
15 Heavy-Path Decomposition Heavy edge := child subtree > /2 parent subtree Light edge := otherwise Key property: O(log n) light edges on any root-leaf path
16 Heavy-Path Decomposition Heavy edge := child subtree > /2 parent subtree Light edge := otherwise Key property: O(log n) light edges on any root-leaf path Treat heavy paths as single unit 6
17 Heavy-Path Decomposition Heavy edge := child subtree > /2 parent subtree Light edge := otherwise Key property: O(log n) light edges on any root-leaf path Treat heavy paths as single unit Key idea: Draw light subtrees, then connect roots 6
18 Drawing Tree Event Graphs Draw each light subtree in an axis-aligned rectangle 7
19 Drawing Tree Event Graphs Draw each light subtree in an axis-aligned rectangle Order light children vertically by start time of meeting with root 7
20 Drawing Tree Event Graphs Draw each light subtree in an axis-aligned rectangle Order light children vertically by start time of meeting with root 7
21 Drawing Tree Event Graphs Draw each light subtree in an axis-aligned rectangle Order light children vertically by start time of meeting with Introduce detours : connect roots on heavy path root 7
22 Drawing Tree Event Graphs Draw each light subtree in an axis-aligned rectangle Order light children vertically by start time of meeting with Introduce detours : connect roots on heavy path root 7
23 Drawing Tree Event Graphs Draw each light subtree in an axis-aligned rectangle Order light children vertically by start time of meeting with Introduce detours : connect roots on heavy path root New light subtree embedded in axis-aligned rectangle! 7
24 Drawing Tree Event Graphs Draw each light subtree in an axis-aligned rectangle Order light children vertically by start time of meeting with Introduce detours : connect roots on heavy path root New light subtree embedded in axis-aligned rectangle! Recurrence: N(T ) apple  light subtrees L N(L) + 5n light subtree crossings! N(T )=O(n log n) depth of recurrence is O(log n) root crossings 7
25 Lower Bound for All Inputs Use length L of optimal linear ordering of a graph Embed vertices on the line (unique integers) to minimize total edge length 2 3 total edge length = 7! 2 L = 5 8
26 Lower Bound for All Inputs Use length L of optimal linear ordering of a graph Embed vertices on the line (unique integers) to minimize total edge length 2 3 total edge length = 7! 2 L = Our problem: Optimal cost = L # edges Edge! meeting Crossings for 2 vertices to meet! edge length - 8
27 Lower Bound for All Inputs Claim: total # of crossings L #edges ! meet 0 0 L changes: New cost for to meet! 0 Other costs increase by: apple # crossings 2 9
28 Lower Bound for All Inputs Claim: total # of crossings L #edges ! meet 0 0 L changes: New cost for to meet! 0 Other costs increase by: apple # crossings 2 u u, v cross v! v u Each edge has cost increase of Increase by apple d(u)+d(v) apple 2 9
29 Lower Bound for All Inputs Claim: total # of crossings L #edges ! meet 0 0 L changes: New cost for to meet! 0 Other costs increase by: apple # crossings 2 total u # of crossings 2 v u, v cross v! u total # of crossings total cost Eachincrease edge has cost increase of original total cost L #edges L #edges Increase by apple d(u)+d(v) apple 2 2 9
30 Lower Bound for Tree Event Graphs Trees: Optimal linear ordering = minimum valuation Minimized for full binary tree L = (n log n) [Chung 78], = 3 (n log n) m # crossings = ( 2 3 )= (nlog n) 0
31 FPT for All Inputs We transform to shortest path problem vertex! valid vertical ordering of curves at meeting start time edge! transformation between orderings by swaps (weight = min # crossings) characters meet meet 3 2
32 FPT for All Inputs We transform to shortest path problem vertex! valid vertical ordering of curves at meeting start time edge! transformation between orderings by swaps (weight = min # crossings) characters meet meet adjacent during meeting 3 2 adjacent during meeting
33 FPT for All Inputs Evaluate all vertical orderings with one search valid vertical orderings s t s s 2... s applem meeting start times 2
34 FPT for Crossing Minimization Parameter! k characters precompute edge weights between all k! 2 pairs in time O(k! 2 k log k) with merge sort find shortest s! t path in linear time O(k!m) vertices s t Total running time O(k! 2 k log k + k! 2 m) O(k! 2 m) edges 3
35 Questions? Is the FPT algorithm efficient in practice for small k (e.g., k apple 6)? Is there a polynomial time exact algorithm for tree event graphs? How about other graph classes? (e.g., small arboricity, unicyclic graphs, cactus graphs) Are there sparse event graphs that require (n 2 ) crossings? What about minimizing the number of bends/wiggles? CC BY-NC 2.5 4
arxiv: v1 [cs.ds] 1 Sep 2015
On Minimizing Crossings in Storyline Visualizations Irina Kostitsyna 1, Martin Nöllenburg 2, Valentin Polishchuk 3, André Schulz 4, and Darren Strash 5 arxiv:1509.00442v1 [cs.ds] 1 Sep 2015 1 Dept. of
More informationSorting and Searching
Sorting and Searching Lecture 2: Priority Queues, Heaps, and Heapsort Lecture 2: Priority Queues, Heaps, and Heapsort Sorting and Searching 1 / 24 Priority Queue: Motivating Example 3 jobs have been submitted
More informationSorting and Searching
Sorting and Searching Lecture 2: Priority Queues, Heaps, and Heapsort Lecture 2: Priority Queues, Heaps, and Heapsort Sorting and Searching 1 / 24 Priority Queue: Motivating Example 3 jobs have been submitted
More informationMulti-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
More informationLecture 5 Using Data Structures to Improve Dijkstra s Algorithm. (AM&O Sections and Appendix A)
Lecture Using Data Structures to Improve Dijkstra s Algorithm (AM&O Sections 4.6 4.8 and Appendix A) Manipulating the Data in Dijkstra s Algorithm The bottleneck operation in Dijkstra s Algorithm is that
More informationTechnical University of Denmark
Technical University of Denmark Written examination, May 7, 27. Course name: Algorithms and Data Structures Course number: 2326 Aids: Written aids. It is not permitted to bring a calculator. Duration:
More information(2,4) Trees. 2/22/2006 (2,4) Trees 1
(2,4) Trees 9 2 5 7 10 14 2/22/2006 (2,4) Trees 1 Outline and Reading Multi-way search tree ( 10.4.1) Definition Search (2,4) tree ( 10.4.2) Definition Search Insertion Deletion Comparison of dictionary
More informationBlock Crossings in Storyline Visualizations
Block Crossings in Storyline Visualizations Thomas van Dijk, Martin Fink, Norbert Fischer, Fabian Lipp, Peter Markfelder, Alexander Ravsky, Subhash Suri, and Alexander Wolff 3/15 3/15 block crossing 3/15
More informationDrawing Problem. Possible properties Minimum number of edge crossings Small area Straight or short edges Good representation of graph structure...
Graph Drawing Embedding Embedding For a given graph G = (V, E), an embedding (into R 2 ) assigns each vertex a coordinate and each edge a (not necessarily straight) line connecting the corresponding coordinates.
More informationARC 088/ABC 083. A: Libra. DEGwer 2017/12/23. #include <s t d i o. h> i n t main ( )
ARC 088/ABC 083 DEGwer 2017/12/23 A: Libra A, B, C, D A + B C + D #include i n t main ( ) i n t a, b, c, d ; s c a n f ( %d%d%d%d, &a, &b, &c, &d ) ; i f ( a + b > c + d ) p r i n t f (
More informationCS171 Final Practice Exam
CS171 Final Practice Exam Name: You are to honor the Emory Honor Code. This is a closed-book and closed-notes exam. You have 150 minutes to complete this exam. Read each problem carefully, and review your
More informationPriority 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
More informationSolutions. (a) Claim: A d-ary tree of height h has at most 1 + d +...
Design and Analysis of Algorithms nd August, 016 Problem Sheet 1 Solutions Sushant Agarwal Solutions 1. A d-ary tree is a rooted tree in which each node has at most d children. Show that any d-ary tree
More informationTrees & Tree-Based Data Structures. Part 4: Heaps. Definition. Example. Properties. Example Min-Heap. Definition
Trees & Tree-Based Data Structures Dr. Christopher M. Bourke cbourke@cse.unl.edu Part 4: Heaps Definition Definition A (max) heap is a binary tree of depth d that satisfies the following properties. 1.
More informationLower Bound on Comparison-based Sorting
Lower Bound on Comparison-based Sorting Different sorting algorithms may have different time complexity, how to know whether the running time of an algorithm is best possible? We know of several sorting
More informationFixed-Parameter Algorithms, IA166
Fixed-Parameter Algorithms, IA166 Sebastian Ordyniak Faculty of Informatics Masaryk University Brno Spring Semester 2013 Introduction Outline 1 Introduction Algorithms on Locally Bounded Treewidth Layer
More informationCSE 530A. B+ Trees. Washington University Fall 2013
CSE 530A B+ Trees Washington University Fall 2013 B Trees A B tree is an ordered (non-binary) tree where the internal nodes can have a varying number of child nodes (within some range) B Trees When a key
More information(2,4) Trees Goodrich, Tamassia (2,4) Trees 1
(2,4) Trees 9 2 5 7 10 14 2004 Goodrich, Tamassia (2,4) Trees 1 Multi-Way Search Tree A multi-way search tree is an ordered tree such that Each internal node has at least two children and stores d -1 key-element
More information9. Heap : Priority Queue
9. Heap : Priority Queue Where We Are? Array Linked list Stack Queue Tree Binary Tree Heap Binary Search Tree Priority Queue Queue Queue operation is based on the order of arrivals of elements FIFO(First-In
More informationHeaps. 2/13/2006 Heaps 1
Heaps /13/00 Heaps 1 Outline and Reading What is a heap ( 8.3.1) Height of a heap ( 8.3.) Insertion ( 8.3.3) Removal ( 8.3.3) Heap-sort ( 8.3.) Arraylist-based implementation ( 8.3.) Bottom-up construction
More informationHeap: A binary heap is a complete binary tree in which each, node other than root is smaller than its parent. Heap example: Fig 1. NPTEL IIT Guwahati
Heap sort is an efficient sorting algorithm with average and worst case time complexities are in O(n log n). Heap sort does not use any extra array, like merge sort. This method is based on a data structure
More information1 Introduction 2. 2 A Simple Algorithm 2. 3 A Fast Algorithm 2
Polyline Reduction David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy
More informationWe 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
More information10. EXTENDING TRACTABILITY
0. EXTENDING TRACTABILITY finding small vertex covers solving NP-hard problems on trees circular arc coverings vertex cover in bipartite graphs Lecture slides by Kevin Wayne Copyright 005 Pearson-Addison
More informationEmbedding a Planar Graph using a PQ-Tree
Embedding a Planar Graph using a PQ-Tree Niklas Kotowski RWTH Aachen May 4, 2018 Niklas Kotowski (RWTH Aachen) Embedding a Planar Graph using a PQ-Tree May 4, 2018 1 / 71 Table of Contents 1 Preliminaries
More informationCS171 Final Practice Exam
CS171 Final Practice Exam Name: You are to honor the Emory Honor Code. This is a closed-book and closed-notes exam. You have 150 minutes to complete this exam. Read each problem carefully, and review your
More informationSelf-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
More informationCSE 332 Autumn 2013: Midterm Exam (closed book, closed notes, no calculators)
Name: Email address: Quiz Section: CSE 332 Autumn 2013: Midterm Exam (closed book, closed notes, no calculators) Instructions: Read the directions for each question carefully before answering. We will
More informationRecall: Properties of B-Trees
CSE 326 Lecture 10: B-Trees and Heaps It s lunch time what s cookin? B-Trees Insert/Delete Examples and Run Time Analysis Summary of Search Trees Introduction to Heaps and Priority Queues Covered in Chapters
More informationCOMP 251 Winter 2017 Online quizzes with answers
COMP 251 Winter 2017 Online quizzes with answers Open Addressing (2) Which of the following assertions are true about open address tables? A. You cannot store more records than the total number of slots
More informationDesign and Analysis of Algorithms - - Assessment
X Courses» Design and Analysis of Algorithms Week 1 Quiz 1) In the code fragment below, start and end are integer values and prime(x) is a function that returns true if x is a prime number and false otherwise.
More informationCSCE 411 Design and Analysis of Algorithms
CSCE 411 Design and Analysis of Algorithms Set 4: Transform and Conquer Slides by Prof. Jennifer Welch Spring 2014 CSCE 411, Spring 2014: Set 4 1 General Idea of Transform & Conquer 1. Transform the original
More informationBinary 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
More informationCS521 \ Notes for the Final Exam
CS521 \ Notes for final exam 1 Ariel Stolerman Asymptotic Notations: CS521 \ Notes for the Final Exam Notation Definition Limit Big-O ( ) Small-o ( ) Big- ( ) Small- ( ) Big- ( ) Notes: ( ) ( ) ( ) ( )
More informationChapter 6 Heapsort 1
Chapter 6 Heapsort 1 Introduce Heap About this lecture Shape Property and Heap Property Heap Operations Heapsort: Use Heap to Sort Fixing heap property for all nodes Use Array to represent Heap Introduce
More informationKAIST 8th ACM-ICPC Mock Competition
KAIST 8th ACM-ICPC Mock Competition Solution School of Computing KAIST Problem Statistics Onsite (20 teams) Open (56 teams) Code Level A 1 (287min) 5 (91min) 1263B Hard B 1 (286min) 4 (192min) 1280B Hard
More informationFaster parameterized algorithms for Minimum Fill-In
Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Abstract We present two parameterized algorithms for the Minimum Fill-In problem, also known as Chordal
More informationFinal Examination CSE 100 UCSD (Practice)
Final Examination UCSD (Practice) RULES: 1. Don t start the exam until the instructor says to. 2. This is a closed-book, closed-notes, no-calculator exam. Don t refer to any materials other than the exam
More informationChapter 2: Basic Data Structures
Chapter 2: Basic Data Structures Basic Data Structures Stacks Queues Vectors, Linked Lists Trees (Including Balanced Trees) Priority Queues and Heaps Dictionaries and Hash Tables Spring 2014 CS 315 2 Two
More informationMidterm solutions. n f 3 (n) = 3
Introduction to Computer Science 1, SE361 DGIST April 20, 2016 Professors Min-Soo Kim and Taesup Moon Midterm solutions Midterm solutions The midterm is a 1.5 hour exam (4:30pm 6:00pm). This is a closed
More informationTopic: Heaps and priority queues
David Keil Data Structures 8/05 1 Topic: Heaps and priority queues The priority-queue problem The heap solution Binary trees and complete binary trees Running time of heap operations Array implementation
More informationwith Dana Richards December 1, 2017 George Mason University New Results On Routing Via Matchings Indranil Banerjee The Routing Model
New New with Dana Richards George Mason University richards@gmu.edu December 1, 2017 GMU December 1, 2017 1 / 40 New Definitions G(V, E) is an undirected graph. V = {1, 2, 3,..., n}. A pebble at vertex
More informationFigure 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.
More informationFriday Four Square! 4:15PM, Outside Gates
Binary Search Trees Friday Four Square! 4:15PM, Outside Gates Implementing Set On Monday and Wednesday, we saw how to implement the Map and Lexicon, respectively. Let's now turn our attention to the Set.
More informationBinary heaps (chapters ) Leftist heaps
Binary heaps (chapters 20.3 20.5) Leftist heaps Binary heaps are arrays! A binary heap is really implemented using an array! 8 18 29 20 28 39 66 Possible because of completeness property 37 26 76 32 74
More informationConflict Graphs for Combinatorial Optimization Problems
Conflict Graphs for Combinatorial Optimization Problems Ulrich Pferschy joint work with Andreas Darmann and Joachim Schauer University of Graz, Austria Introduction Combinatorial Optimization Problem CO
More informationRecent Advances in FPT and Exact Algorithms for NP-Complete Problems
1 Fine-Grained Complexity and Algorithm Design Boot Camp Recent Advances in FPT and Exact Algorithms for NP-Complete Problems Dániel Marx Institute for Computer Science and Control, Hungarian Academy of
More informationMinimum-weight tree shortcutting for Metric TSP
Minimum-weight tree shortcutting for Metric TSP 2 Vladimir Deineko and Alexander Tiskin Warwick Business School and Department of Computer Science University of Warwick Deineko and Tiskin (Warwick) Min
More informationCSE 100: B+ TREE, 2-3 TREE, NP- COMPLETNESS
CSE 100: B+ TREE, 2-3 TREE, NP- COMPLETNESS Analyzing find in B-trees Since the B-tree is perfectly height-balanced, the worst case time cost for find is O(logN) Best case: If every internal node is completely
More information2-3 Tree. Outline B-TREE. catch(...){ printf( "Assignment::SolveProblem() AAAA!"); } ADD SLIDES ON DISJOINT SETS
Outline catch(...){ printf( "Assignment::SolveProblem() AAAA!"); } Balanced Search Trees 2-3 Trees 2-3-4 Trees Slide 4 Why care about advanced implementations? Same entries, different insertion sequence:
More informationSearch Trees - 1 Venkatanatha Sarma Y
Search Trees - 1 Lecture delivered by: Venkatanatha Sarma Y Assistant Professor MSRSAS-Bangalore 11 Objectives To introduce, discuss and analyse the different ways to realise balanced Binary Search Trees
More informationAlgorithms and Theory of Computation. Lecture 7: Priority Queue
Algorithms and Theory of Computation Lecture 7: Priority Queue Xiaohui Bei MAS 714 September 5, 2017 Nanyang Technological University MAS 714 September 5, 2017 1 / 15 Priority Queues Priority Queues Store
More informationReference Sheet for CO142.2 Discrete Mathematics II
Reference Sheet for CO14. Discrete Mathematics II Spring 017 1 Graphs Defintions 1. Graph: set of N nodes and A arcs such that each a A is associated with an unordered pair of nodes.. Simple graph: no
More informationHeaps Goodrich, Tamassia. Heaps 1
Heaps Heaps 1 Recall Priority Queue ADT A priority queue stores a collection of entries Each entry is a pair (key, value) Main methods of the Priority Queue ADT insert(k, x) inserts an entry with key k
More informationTrees and Intro to Counting
Trees and Intro to Counting CSE21 Winter 2017, Day 15 (B00), Day 10/11 (A00) February 15, 2017 http://vlsicad.ucsd.edu/courses/cse21-w17 Another Special Type of Graph: Trees (Rooted) Trees: definitions
More informationCMSC 341 Lecture 15 Leftist Heaps
Based on slides from previous iterations of this course CMSC 341 Lecture 15 Leftist Heaps Prof. John Park Review of Heaps Min Binary Heap A min binary heap is a Complete binary tree Neither child is smaller
More informationGiven a graph, find an embedding s.t. greedy routing works
Given a graph, find an embedding s.t. greedy routing works Greedy embedding of a graph 99 Greedy embedding Given a graph G, find an embedding of the vertices in R d, s.t. for each pair of nodes s, t, there
More informationData Structures and Algorithms
Data Structures and Algorithms CS245-2008S-19 B-Trees David Galles Department of Computer Science University of San Francisco 19-0: Indexing Operations: Add an element Remove an element Find an element,
More information3 Competitive Dynamic BSTs (January 31 and February 2)
3 Competitive Dynamic BSTs (January 31 and February ) In their original paper on splay trees [3], Danny Sleator and Bob Tarjan conjectured that the cost of sequence of searches in a splay tree is within
More informationHEAPS: IMPLEMENTING EFFICIENT PRIORITY QUEUES
HEAPS: IMPLEMENTING EFFICIENT PRIORITY QUEUES 2 5 6 9 7 Presentation for use with the textbook Data Structures and Algorithms in Java, 6 th edition, by M. T. Goodrich, R. Tamassia, and M. H., Wiley, 2014
More informationSection 1: True / False (1 point each, 15 pts total)
Section : True / False ( point each, pts total) Circle the word TRUE or the word FALSE. If neither is circled, both are circled, or it impossible to tell which is circled, your answer will be considered
More informationExam Sample Questions CS3212: Algorithms and Data Structures
Exam Sample Questions CS31: Algorithms and Data Structures NOTE: the actual exam will contain around 0-5 questions. 1. Consider a LinkedList that has a get(int i) method to return the i-th element in the
More informationCS2223: Algorithms Sorting Algorithms, Heap Sort, Linear-time sort, Median and Order Statistics
CS2223: Algorithms Sorting Algorithms, Heap Sort, Linear-time sort, Median and Order Statistics 1 Sorting 1.1 Problem Statement You are given a sequence of n numbers < a 1, a 2,..., a n >. You need to
More informationCMSC 341 Lecture 15 Leftist Heaps
Based on slides from previous iterations of this course CMSC 341 Lecture 15 Leftist Heaps Prof. John Park Review of Heaps Min Binary Heap A min binary heap is a Complete binary tree Neither child is smaller
More informationHere is a recursive algorithm that solves this problem, given a pointer to the root of T : MaxWtSubtree [r]
CSE 101 Final Exam Topics: Order, Recurrence Relations, Analyzing Programs, Divide-and-Conquer, Back-tracking, Dynamic Programming, Greedy Algorithms and Correctness Proofs, Data Structures (Heap, Binary
More informationFaster parameterized algorithms for Minimum Fill-In
Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Technical Report UU-CS-2008-042 December 2008 Department of Information and Computing Sciences Utrecht
More informationBinary Trees, Binary Search Trees
Binary Trees, Binary Search Trees 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, insert, delete)
More informationCSE 548: Analysis of Algorithms. Lectures 14 & 15 ( Dijkstra s SSSP & Fibonacci Heaps )
CSE 548: Analysis of Algorithms Lectures 14 & 15 ( Dijkstra s SSSP & Fibonacci Heaps ) Rezaul A. Chowdhury Department of Computer Science SUNY Stony Brook Fall 2012 Fibonacci Heaps ( Fredman & Tarjan,
More informationAdvanced Algorithm Design and Analysis (Lecture 12) SW5 fall 2005 Simonas Šaltenis E1-215b
Advanced Algorithm Design and Analysis (Lecture 12) SW5 fall 2005 Simonas Šaltenis E1-215b simas@cs.aau.dk Range Searching in 2D Main goals of the lecture: to understand and to be able to analyze the kd-trees
More informationINDIAN STATISTICAL INSTITUTE
INDIAN STATISTICAL INSTITUTE Mid Semestral Examination M. Tech (CS) - II Year, 202-203 (Semester - IV) Topics in Algorithms and Complexity Date : 28.02.203 Maximum Marks : 60 Duration : 2.5 Hours Note:
More informationData Structures in Java
Data Structures in Java Lecture 9: Binary Search Trees. 10/7/015 Daniel Bauer 1 Contents 1. Binary Search Trees. Implementing Maps with BSTs Map ADT A map is collection of (key, value) pairs. Keys are
More information1 Format. 2 Topics Covered. 2.1 Minimal Spanning Trees. 2.2 Union Find. 2.3 Greedy. CS 124 Quiz 2 Review 3/25/18
CS 124 Quiz 2 Review 3/25/18 1 Format You will have 83 minutes to complete the exam. The exam may have true/false questions, multiple choice, example/counterexample problems, run-this-algorithm problems,
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 11: Binary Search Trees MOUNA KACEM mouna@cs.wisc.edu Fall 2018 General Overview of Data Structures 2 Introduction to trees 3 Tree: Important non-linear data structure
More informationCH 8. HEAPS AND PRIORITY QUEUES
CH 8. HEAPS AND PRIORITY QUEUES ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN C++, GOODRICH, TAMASSIA AND MOUNT (WILEY 2004) AND SLIDES FROM NANCY
More informationAdvanced Algorithms. Class Notes for Thursday, September 18, 2014 Bernard Moret
Advanced Algorithms Class Notes for Thursday, September 18, 2014 Bernard Moret 1 Amortized Analysis (cont d) 1.1 Side note: regarding meldable heaps When we saw how to meld two leftist trees, we did not
More informationquiz heapsort intuition overview Is an algorithm with a worst-case time complexity in O(n) data structures and algorithms lecture 3
quiz data structures and algorithms 2018 09 10 lecture 3 Is an algorithm with a worst-case time complexity in O(n) always faster than an algorithm with a worst-case time complexity in O(n 2 )? intuition
More informationCH. 8 PRIORITY QUEUES AND HEAPS
CH. 8 PRIORITY QUEUES AND HEAPS ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN C++, GOODRICH, TAMASSIA AND MOUNT (WILEY 2004) AND SLIDES FROM NANCY
More informationProperties of a heap (represented by an array A)
Chapter 6. HeapSort Sorting Problem Input: A sequence of n numbers < a1, a2,..., an > Output: A permutation (reordering) of the input sequence such that ' ' ' < a a a > 1 2... n HeapSort O(n lg n) worst
More informationCSE 332 Autumn 2016 Final Exam (closed book, closed notes, no calculators)
Name: Sample Solution Email address (UWNetID): CSE 332 Autumn 2016 Final Exam (closed book, closed notes, no calculators) Instructions: Read the directions for each question carefully before answering.
More informationConstraint Satisfaction Problems
Constraint Satisfaction Problems Robert Platt Northeastern University Some images and slides are used from: 1. AIMA What is a CSP? The space of all search problems states and actions are atomic goals are
More informationCOMP 103 RECAP-TODAY. Priority Queues and Heaps. Queues and Priority Queues 3 Queues: Oldest out first
COMP 0 Priority Queues and Heaps RECAP RECAP-TODAY Tree Structures (in particular Binary Search Trees (BST)) BSTs idea nice way to implement a Set, Bag, or Map TODAY Priority Queue = variation on Queue
More informationRandomized incremental construction. Trapezoidal decomposition: Special sampling idea: Sample all except one item
Randomized incremental construction Special sampling idea: Sample all except one item hope final addition makes small or no change Method: process items in order average case analysis randomize order to
More informationGraph Algorithms Matching
Chapter 5 Graph Algorithms Matching Algorithm Theory WS 2012/13 Fabian Kuhn Circulation: Demands and Lower Bounds Given: Directed network, with Edge capacities 0and lower bounds l for Node demands for
More informationV Advanced Data Structures
V Advanced Data Structures B-Trees Fibonacci Heaps 18 B-Trees B-trees are similar to RBTs, but they are better at minimizing disk I/O operations Many database systems use B-trees, or variants of them,
More informationPriority queues. Priority queues. Priority queue operations
Priority queues March 30, 018 1 Priority queues The ADT priority queue stores arbitrary objects with priorities. An object with the highest priority gets served first. Objects with priorities are defined
More informationHeaps 2. Recall Priority Queue ADT. Heaps 3/19/14
Heaps 3// Presentation for use with the textbook Data Structures and Algorithms in Java, th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Wiley, 0 Heaps Heaps Recall Priority Queue ADT
More informationHeaps with merging. We can implement the other priority queue operations in terms of merging!
Skew heaps Heaps with merging Apart from adding and removing minimum element, another useful operation is merging two heaps into one. To do this, let's go back to binary trees with the heap property (no
More informationData Structures and Algorithms
Data Structures and Algorithms Spring 2017-2018 Outline 1 Priority Queues Outline Priority Queues 1 Priority Queues Jumping the Queue Priority Queues In normal queue, the mode of selection is first in,
More informationLeftist Heaps and Skew Heaps. (Leftist Heaps and Skew Heaps) Data Structures and Programming Spring / 41
Leftist Heaps and Skew Heaps (Leftist Heaps and Skew Heaps) Data Structures and Programming Spring 2018 1 / 41 Leftist Heaps A binary heap provides O(log n) inserts and O(log n) deletes but suffers from
More informationCMSC 341 Leftist Heaps
CMSC 341 Leftist Heaps Based on slides from previous iterations of this course Today s Topics Review of Min Heaps Introduction of Left-ist Heaps Merge Operation Heap Operations Review of Heaps Min Binary
More informationDirect Addressing Hash table: Collision resolution how handle collisions Hash Functions:
Direct Addressing - key is index into array => O(1) lookup Hash table: -hash function maps key to index in table -if universe of keys > # table entries then hash functions collision are guaranteed => need
More informationCSCI2100B 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
More informationOutline. Other Use of Triangle Inequality Algorithms for Nearest Neighbor Search: Lecture 2. Orchard s Algorithm. Chapter VI
Other Use of Triangle Ineuality Algorithms for Nearest Neighbor Search: Lecture 2 Yury Lifshits http://yury.name Steklov Institute of Mathematics at St.Petersburg California Institute of Technology Outline
More informationBreadth-First Search, 1. Slides for CIS 675 DPV Chapter 4. Breadth-First Search, 3. Breadth-First Search, 2
Breadth-First Search, Slides for CIS DPV Chapter Jim Royer EECS October, 00 Definition In an undirected graph, the distance between two vertices is the length of the shortest path between them. (If there
More informationNotes on Binary Dumbbell Trees
Notes on Binary Dumbbell Trees Michiel Smid March 23, 2012 Abstract Dumbbell trees were introduced in [1]. A detailed description of non-binary dumbbell trees appears in Chapter 11 of [3]. These notes
More information1 Minimum Cut Problem
CS 6 Lecture 6 Min Cut and Karger s Algorithm Scribes: Peng Hui How, Virginia Williams (05) Date: November 7, 07 Anthony Kim (06), Mary Wootters (07) Adapted from Virginia Williams lecture notes Minimum
More informationQuestion 7.11 Show how heapsort processes the input:
Question 7.11 Show how heapsort processes the input: 142, 543, 123, 65, 453, 879, 572, 434, 111, 242, 811, 102. Solution. Step 1 Build the heap. 1.1 Place all the data into a complete binary tree in the
More informationCMSC 754 Computational Geometry 1
CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Fall 2005 1 Copyright, David M. Mount, 2005, Dept. of Computer Science, University of Maryland, College
More informationConstruction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen
Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen University of Copenhagen Outline Motivation and Background Minimum-Weight Spanner Problem Greedy Spanner Algorithm Exact Algorithm:
More informationParameterized coloring problems on chordal graphs
Parameterized coloring problems on chordal graphs Dániel Marx Department of Computer Science and Information Theory, Budapest University of Technology and Economics Budapest, H-1521, Hungary dmarx@cs.bme.hu
More information