Sorting Integers in the RAM Model Gerth Stølting Brodal Joint work with Djamal Belazzougui and Jesper Sindal Nielsen (to be presented at the 14th Scandinavian.

Slides:



Advertisements
Similar presentations
II Extreme Models Study the two extremes of parallel computation models: Abstract SM (PRAM); ignores implementation issues Concrete circuit model; incorporates.
Advertisements

Algorithms and Data Structures Group Gerth Stølting Brodal Faculty Meeting, Department of Computer Science, Aarhus University, October 3, 2014.
Gerth Stølting Brodal University of Aarhus Monday June 9, 2008, IT University of Copenhagen, Denmark International PhD School in Algorithms for Advanced.
Sorting Really Big Files Sorting Part 3. Using K Temporary Files Given  N records in file F  M records will fit into internal memory  Use K temp files,
Analysis of Algorithms
Linear Sorts Counting sort Bucket sort Radix sort.
Computer Science 112 Fundamentals of Programming II Bucket Sort: An O(N) Sort Algorithm.
Msb(x) in O(1) steps using 5 multiplications Word size n = g∙g, g a power of 2 [M.L. Fredman, D.E. Willard, Surpassing the information-theoretic bound.
On RAM PRIORITY QUEUES MIKKEL THORUP. Objective Sorting is a basic technique for a lot of algorithms. e.g. find the minimum edge of the graph, scheduling,
Batcher’s merging network Efficient Parallel Algorithms COMP308.
Hierarchy-conscious Data Structures for String Analysis Carlo Fantozzi PhD Student (XVI ciclo) Bioinformatics Course - June 25, 2002.
Dynamic Planar Range Maxima Queries (presented at ICALP 2011) Gerth Stølting Brodal Aarhus University Kostas Tsakalidis University of Primorska, October.
Dynamic Planar Range Maxima Queries (presented at ICALP 2011) Gerth Stølting Brodal Aarhus University Kostas Tsakalidis LIAFA, Université Paris Diderot,
Advanced Data Structures
CSE332: Data Abstractions Lecture 12: Introduction to Sorting Tyler Robison Summer
Engineering a Sorted List Data Structure for 32 Bit Keys Roman Dementiev Lutz Kettner Jens Mehnert Peter Sanders MPI für Informatik, Saarbrücken.
Lecture 5: Linear Time Sorting Shang-Hua Teng. Sorting Input: Array A[1...n], of elements in arbitrary order; array size n Output: Array A[1...n] of the.
© 2004 Goodrich, Tamassia Sorting Lower Bound1. © 2004 Goodrich, Tamassia Sorting Lower Bound2 Comparison-Based Sorting (§ 10.3) Many sorting algorithms.
Design of parallel algorithms Sorting J. Porras. Problem Rearrange numbers (x 1,...,x n ) into ascending order ? What is your intuitive approach –Take.
Lecture 5: Master Theorem and Linear Time Sorting
CS 104 Introduction to Computer Science and Graphics Problems Data Structure & Algorithms (3) Recurrence Relation 11/11 ~ 11/14/2008 Yang Song.
Data Structure & Algorithm Lecture 7 – Linear Sort JJCAO Most materials are stolen from Prof. Yoram Moses’s course.
Introduction to Algorithms Jiafen Liu Sept
Comparison Networks Sorting Sorting binary values
A Worst Case, Constant Time Priority Queue: Beating a Lower Bound Ian Munro University of Waterloo Joint work with Andrej Brodnik (Ljubljana & Luleå) Svante.
Sorting CS /02/05 L12: Sorting Slide 2 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved The.
Survey of Sorting Ananda Gunawardena. Naïve sorting algorithms Bubble sort: scan for flips, until all are fixed Etc...
© 2004 Goodrich, Tamassia Bucket-Sort and Radix-Sort B 1, c7, d7, g3, b3, a7, e 
Searching and Sorting Recursion, Merge-sort, Divide & Conquer, Bucket sort, Radix sort Lecture 5.
Bucket Sort and Radix Sort
Radix Sort and Hash-Join for Vector Computers Ripal Nathuji 6.893: Advanced VLSI Computer Architecture 10/12/00.
Foundations of Data Structures Practical Session #12 Linear Sorting.
Comparison Networks Sorting Sorting binary values Sorting arbitrary numbers Implementing symmetric functions.
Text Chapters 2 Analyzing Algorithms.  goal: predicting resources that an algorithm requires memory, communication bandwidth, hardware, memory, communication.
Optimal Planar Orthogonal Skyline Counting Queries Gerth Stølting Brodal and Kasper Green Larsen Aarhus University 14th Scandinavian Workshop on Algorithm.
Efficient data structures are the core of many algorithms and the design of data structures is a classical topic covered in most introductory text books.
ICC Module 3 Lesson 1 – Computer Architecture 1 / 11 © 2015 Ph. Janson Information, Computing & Communication Module 3 : Systems.
Indexing and Ranking MICROPROCESSOR SYSTEMS – MAXELER PROJECT AUTHOR: NIKOLA MAKSIMOVIC 545/12.
19 March More on Sorting CSE 2011 Winter 2011.
Lecture 5 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
Concepts of Algorithms CSC-244 Unit 3 and 4 Algorithm Growth Rates Shahid Iqbal Lone Computer College Qassim University K.S.A.
(A Survey on) Priority Queues IanFest, University of Waterloo, Waterloo, Ontario, Canada, August 14-15, 2013 Gerth Stølting Brodal Aarhus Universty.
Sorting.
Sorting Lower Bound 4/25/2018 8:49 PM
lsb(x) = Least Significant Bit ?
7.1 What is a Sorting Network?
Bucket-Sort and Radix-Sort
Searching in Trees Gerth Stølting Brodal Aarhus University
Algorithm Design and Analysis (ADA)
Bucket-Sort and Radix-Sort
Bucket-Sort and Radix-Sort
(2,4) Trees 11/15/2018 9:25 AM Sorting Lower Bound Sorting Lower Bound.
Lecture 5 Algorithm Analysis
Lecture 5 Algorithm Analysis
Bucket-Sort and Radix-Sort
(2,4) Trees 12/4/2018 1:20 PM Sorting Lower Bound Sorting Lower Bound.
Comparison Networks Sorting Sorting binary values
Chapter 8: Sorting in Linear Time
Linear Sorting Sorting in O(n) Jeff Chastine.
Lecture 5 Algorithm Analysis
(2,4) Trees 2/28/2019 3:21 AM Sorting Lower Bound Sorting Lower Bound.
Parallel sorting.
Bucket-Sort and Radix-Sort
Chapter 8: Sorting in Linear Time
Algorithms Sorting.
Կարգավորում Insertion Sort, Merge Sort
Bucket-Sort and Radix-Sort
Lecture 5 Algorithm Analysis
Algorithms and Data Structures
Presentation transcript:

Sorting Integers in the RAM Model Gerth Stølting Brodal Joint work with Djamal Belazzougui and Jesper Sindal Nielsen (to be presented at the 14th Scandinavian Workshop on Algorithm Theory) MADALGO Review Meeting, April 28, 2014

Sorting (Integers) Input Output w bits n integers Trie Patricia trie (branching charcters only) permutation

Comparison Based Sorting next scanning

Sorting Networks O(n·log 2 n) size : Batcher 1968 O(n·log n) size : Ajtai, Komlós, Szemerédi 1983; Paterson 1990; Goodrich InputOutput  Original motivated by hardware implementations  Renewed interest since data-oblivious ̶applications in privacy preserving computations ̶allows for parallel computations on bit-level and GPU

Results Bucket sortO(n+2 w ) Radix sort; Hollerith 1887 van Emde Boas 1975 Willard 1983 superlinear space expected Kirkpatrick and Reicsh 1983 Merge sort: von Neumann 1945 comparison based optimal Thorup and Han 2002expected Andersson et al. 1998O(n) NEWO(n) Time per element w log 2 n·loglog nlog 2+ε n O(1) log n NEW

Open Question Sorting in linear time for all w? w log 2 n·loglog nlog 2+ε n O(1) log n NEW Time per element