phd defense - aarhus universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · phd...
TRANSCRIPT
![Page 1: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/1.jpg)
AARHUSUNIVERSITY
PhD Defense
Jesper Sindahl Nielsen
Implicit Data Structures,Sorting, and Text Indexing
![Page 2: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/2.jpg)
Overview
1/24
Jesper Sindahl Nielsen
![Page 3: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/3.jpg)
Overview
1/24
Jesper Sindahl Nielsen
1. Algorithms and Data Structures(a) Abstract description(b) Example
2. Implicit Data Structures(a) Finger Search(b) Priority Queues
3. Integer Sorting4. Text Indexing5. State and University Library
![Page 4: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/4.jpg)
Overview
1/24
Jesper Sindahl Nielsen
1. Algorithms and Data Structures(a) Abstract description(b) Example
2. Implicit Data Structures(a) Finger Search(b) Priority Queues
3. Integer Sorting4. Text Indexing5. State and University Library
![Page 5: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/5.jpg)
Overview
1/24
Jesper Sindahl Nielsen
1. Algorithms and Data Structures(a) Abstract description(b) Example
2. Implicit Data Structures(a) Finger Search(b) Priority Queues
3. Integer Sorting4. Text Indexing5. State and University Library
![Page 6: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/6.jpg)
Overview
1/24
Jesper Sindahl Nielsen
1. Algorithms and Data Structures(a) Abstract description(b) Example
2. Implicit Data Structures(a) Finger Search(b) Priority Queues
3. Integer Sorting4. Text Indexing5. State and University Library
![Page 7: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/7.jpg)
Overview
1/24
Jesper Sindahl Nielsen
1. Algorithms and Data Structures(a) Abstract description(b) Example
2. Implicit Data Structures(a) Finger Search(b) Priority Queues
3. Integer Sorting4. Text Indexing5. State and University Library
![Page 8: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/8.jpg)
Overview
1/24
Jesper Sindahl Nielsen
1. Algorithms and Data Structures(a) Abstract description(b) Example
2. Implicit Data Structures(a) Finger Search(b) Priority Queues
3. Integer Sorting4. Text Indexing5. State and University Library
![Page 9: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/9.jpg)
Algorithms
2/24
Jesper Sindahl Nielsen
![Page 10: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/10.jpg)
Algorithms
2/24
Jesper Sindahl Nielsen
Algorithm
![Page 11: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/11.jpg)
Algorithms
2/24
Jesper Sindahl Nielsen
Algorithminput
![Page 12: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/12.jpg)
Algorithms
2/24
Jesper Sindahl Nielsen
Algorithminput output
![Page 13: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/13.jpg)
Algorithms
2/24
Jesper Sindahl Nielsen
Algorithminput output
x + yAddition
![Page 14: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/14.jpg)
Algorithms
2/24
Jesper Sindahl Nielsen
Algorithminput output
x=5y=7 x + y
Addition
![Page 15: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/15.jpg)
Algorithms
2/24
Jesper Sindahl Nielsen
Algorithminput output
12x=5y=7 x + y
Addition
![Page 16: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/16.jpg)
Algorithms
2/24
Jesper Sindahl Nielsen
Algorithminput output
12x=5y=7 x + y
Addition
Sort L
![Page 17: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/17.jpg)
Algorithms
2/24
Jesper Sindahl Nielsen
Algorithminput output
12x=5y=7 x + y
Addition
L=5,1,3,2,4,6 Sort L
![Page 18: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/18.jpg)
Algorithms
2/24
Jesper Sindahl Nielsen
Algorithminput output
12x=5y=7 x + y
Addition
L=1,2,3,4,5,6L=5,1,3,2,4,6 Sort L
We want to design fast algorithms
![Page 19: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/19.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
![Page 20: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/20.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data
![Page 21: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/21.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
DataData
Structure
![Page 22: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/22.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
DataData
Structure
Data organized insome clever manner
![Page 23: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/23.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
![Page 24: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/24.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
![Page 25: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/25.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
![Page 26: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/26.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
Advisor,359617Arnold,123456Brother,681958Dad,278393Jean,456321Mom,375874Sylvester,987654Wesley,789123
![Page 27: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/27.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
DataStructure
input
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
Advisor,359617Arnold,123456Brother,681958Dad,278393Jean,456321Mom,375874Sylvester,987654Wesley,789123
![Page 28: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/28.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
DataStructure
Queryinput
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
Advisor,359617Arnold,123456Brother,681958Dad,278393Jean,456321Mom,375874Sylvester,987654Wesley,789123
![Page 29: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/29.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
DataStructure
Queryinput
answer to query on data
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
Advisor,359617Arnold,123456Brother,681958Dad,278393Jean,456321Mom,375874Sylvester,987654Wesley,789123
![Page 30: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/30.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
DataStructure
Queryinput
answer to query on data
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
Advisor,359617Arnold,123456Brother,681958Dad,278393Jean,456321Mom,375874Sylvester,987654Wesley,789123
Arnold
![Page 31: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/31.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
DataStructure
Queryinput
answer to query on data
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
Advisor,359617Arnold,123456Brother,681958Dad,278393Jean,456321Mom,375874Sylvester,987654Wesley,789123
find phone number
Arnold
![Page 32: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/32.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
DataStructure
Queryinput
answer to query on data
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
Advisor,359617Arnold,123456Brother,681958Dad,278393Jean,456321Mom,375874Sylvester,987654Wesley,789123
find phone number
Arnold 123456
![Page 33: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/33.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
DataStructure
Queryinput
answer to query on data
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
Advisor,359617Arnold,123456Brother,681958Dad,278393Jean,456321Mom,375874Sylvester,987654Wesley,789123
find phone number
Mom 375874
Arnold 123456
![Page 34: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/34.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
DataStructure
Queryinput
answer to query on data
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
Advisor,359617Arnold,123456Brother,681958Dad,278393Jean,456321Mom,375874Sylvester,987654Wesley,789123
find phone number
Mom 375874
Arnold 123456
efficient when data is organized
![Page 35: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/35.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
Advisor,359617Arnold,123456Brother,681958Dad,278393Jean,456321Mom,375874Sylvester,987654Wesley,789123Data
StructureUpdate
inputUpd. DataStructure
![Page 36: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/36.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
Advisor,359617Arnold,123456Brother,681958Dad,278393Jean,456321Mom,375874Sylvester,987654Wesley,789123Data
StructureUpdate
inputUpd. DataStructure
Dad,357951
![Page 37: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/37.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
Advisor,359617Arnold,123456Brother,681958Dad,278393Jean,456321Mom,375874Sylvester,987654Wesley,789123Data
StructureUpdate
inputUpd. DataStructure
Dad,357951
![Page 38: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/38.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
Advisor,359617Arnold,123456Brother,681958Dad,278393Jean,456321Mom,375874Sylvester,987654Wesley,789123Data
StructureUpdate
inputUpd. DataStructure
Dad,357951
Advisor,359617Arnold,123456Brother,681958Dad,357951Jean,456321Mom,375874Sylvester,987654Wesley,789123
Change phone number
![Page 39: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/39.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
Advisor,359617Arnold,123456Brother,681958Dad,278393Jean,456321Mom,375874Sylvester,987654Wesley,789123Data
StructureUpdate
inputUpd. DataStructure
Dad,357951
Advisor,359617Arnold,123456Brother,681958Dad,357951Jean,456321Mom,375874Sylvester,987654Wesley,789123
Change phone number
![Page 40: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/40.jpg)
Data Structures
3/24
Jesper Sindahl Nielsen
Data BuildData
Structure
Data organized insome clever manner
Mom,375874Dad,278393Brother,681958Advisor,359617Arnold,123456Sylvester,987654Jean-Claude,456321Wesley,789123
create sorted phonebook
Advisor,359617Arnold,123456Brother,681958Dad,278393Jean,456321Mom,375874Sylvester,987654Wesley,789123Data
StructureUpdate
inputUpd. DataStructure
Dad,357951
Advisor,359617Arnold,123456Brother,681958Dad,357951Jean,456321Mom,375874Sylvester,987654Wesley,789123
Change phone number
We want space efficient structures,fast queries, and fast updates
![Page 41: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/41.jpg)
Outline
4/24
Jesper Sindahl Nielsen
1. Algorithms and Data Structures(a) Abstract description(b) Example
2. Implicit Data Structures(a) Finger Search(b) Priority Queues
3. Integer Sorting4. Text Indexing5. State and University Library
![Page 42: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/42.jpg)
Outline
4/24
Jesper Sindahl Nielsen
1. Algorithms and Data Structures(a) Abstract description(b) Example
2. Implicit Data Structures(a) Finger Search(b) Priority Queues
3. Integer Sorting4. Text Indexing5. State and University Library
![Page 43: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/43.jpg)
Implicit Data Structures
5/24
Jesper Sindahl Nielsen
![Page 44: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/44.jpg)
Implicit Data Structures
5/24
Jesper Sindahl Nielsen
Primary goal: space efficiency
![Page 45: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/45.jpg)
Implicit Data Structures
5/24
Jesper Sindahl Nielsen
Primary goal: space efficiency
Data Structure has n comparable elements, laid out in an array of size n.
![Page 46: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/46.jpg)
Implicit Data Structures
5/24
Jesper Sindahl Nielsen
Primary goal: space efficiency
0 1 2
Data Structure has n comparable elements, laid out in an array of size n.
n− 1
![Page 47: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/47.jpg)
Implicit Data Structures
5/24
Jesper Sindahl Nielsen
Primary goal: space efficiency
0 1 2
Data Structure has n comparable elements, laid out in an array of size n.
n− 1
Only the array and n is maintained between operations.
![Page 48: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/48.jpg)
Implicit Data Structures
5/24
Jesper Sindahl Nielsen
Primary goal: space efficiency
0 1 2
Data Structure has n comparable elements, laid out in an array of size n.
n− 1
Only the array and n is maintained between operations.
Strict implicit model: Nothing but elements and n stored
![Page 49: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/49.jpg)
Implicit Data Structures
5/24
Jesper Sindahl Nielsen
Primary goal: space efficiency
0 1 2
Data Structure has n comparable elements, laid out in an array of size n.
n− 1
Only the array and n is maintained between operations.
Strict implicit model: Nothing but elements and n stored
Weak implicit model: Allow a constant number of extra memory cells
![Page 50: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/50.jpg)
Implicit Data Structures
5/24
Jesper Sindahl Nielsen
Primary goal: space efficiency
0 1 2
Data Structure has n comparable elements, laid out in an array of size n.
n− 1
Only the array and n is maintained between operations.
Strict implicit model: Nothing but elements and n stored
Weak implicit model: Allow a constant number of extra memory cells
We work with the strict implicit model
![Page 51: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/51.jpg)
Implicit Data Structures
5/24
Jesper Sindahl Nielsen
Primary goal: space efficiency
0 1 2
Data Structure has n comparable elements, laid out in an array of size n.
n− 1
Only the array and n is maintained between operations.
Strict implicit model: Nothing but elements and n stored
Weak implicit model: Allow a constant number of extra memory cells
We work with the strict implicit model
Fundamental trick: pair encoding bits.
![Page 52: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/52.jpg)
Implicit Data Structures
5/24
Jesper Sindahl Nielsen
Primary goal: space efficiency
0 1 2
Data Structure has n comparable elements, laid out in an array of size n.
n− 1
Only the array and n is maintained between operations.
Strict implicit model: Nothing but elements and n stored
Weak implicit model: Allow a constant number of extra memory cells
We work with the strict implicit model
Fundamental trick: pair encoding bits. x yx<y ⇒1
x>y ⇒0
![Page 53: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/53.jpg)
Implicit Data Structures
5/24
Jesper Sindahl Nielsen
Primary goal: space efficiency
0 1 2
Data Structure has n comparable elements, laid out in an array of size n.
n− 1
Only the array and n is maintained between operations.
Strict implicit model: Nothing but elements and n stored
Weak implicit model: Allow a constant number of extra memory cells
We work with the strict implicit model
Fundamental trick: pair encoding bits. x yx<y ⇒1
x>y ⇒0Requires distinct elements.
![Page 54: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/54.jpg)
Implicit Data Structures
5/24
Jesper Sindahl Nielsen
Primary goal: space efficiency
0 1 2
Data Structure has n comparable elements, laid out in an array of size n.
n− 1
Only the array and n is maintained between operations.
Strict implicit model: Nothing but elements and n stored
Weak implicit model: Allow a constant number of extra memory cells
We work with the strict implicit model
Fundamental trick: pair encoding bits. x yx<y ⇒1
x>y ⇒0Requires distinct elements.
Procedures can use a constant number of working memory/registers
![Page 55: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/55.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
![Page 56: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/56.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
Maintain a (dynamic) set of n keys, while supporting:
![Page 57: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/57.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
Insert(k)
Maintain a (dynamic) set of n keys, while supporting:
![Page 58: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/58.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
Insert(k)
Delete(k)
Maintain a (dynamic) set of n keys, while supporting:
![Page 59: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/59.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
Insert(k)
Delete(k)
Find(k)
Maintain a (dynamic) set of n keys, while supporting:
![Page 60: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/60.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
Insert(k)
Delete(k)
Find(k)
Predecessor(k)
Maintain a (dynamic) set of n keys, while supporting:
![Page 61: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/61.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
Insert(k)
Delete(k)
Find(k)
Predecessor(k)
Successor(k)
Maintain a (dynamic) set of n keys, while supporting:
![Page 62: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/62.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
Insert(k)
Delete(k)
Find(k)
Predecessor(k)
Time: O(log n)
Successor(k)
Maintain a (dynamic) set of n keys, while supporting:
![Page 63: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/63.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
Insert(k)
Delete(k)
Find(k)
Predecessor(k)
Only in dynamic structures
Time: O(log n)
Successor(k)
Maintain a (dynamic) set of n keys, while supporting:
![Page 64: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/64.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
Insert(k)
Delete(k)
Find(k)
Predecessor(k)
Only in dynamic structures
Time: O(log n)
Successor(k)
Maintain a (dynamic) set of n keys, while supporting:
Special element: the finger element
![Page 65: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/65.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
Insert(k)
Delete(k)
Find(k)
Predecessor(k)
Only in dynamic structures
Time: O(log n)
Successor(k)
Maintain a (dynamic) set of n keys, while supporting:
Special element: the finger element
a c d g j ` m o q s z0 1 2 3 4 5 6 7 8 9 10
![Page 66: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/66.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
Insert(k)
Delete(k)
Find(k)
Predecessor(k)
Only in dynamic structures
Time: O(log n)
Successor(k)
Maintain a (dynamic) set of n keys, while supporting:
Special element: the finger element
a c d g j ` m o q s z0 1 2 3 4 5 6 7 8 9 10
n=11
![Page 67: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/67.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
Insert(k)
Delete(k)
Find(k)
Predecessor(k)
Only in dynamic structures
Time: O(log n)
Successor(k)
Maintain a (dynamic) set of n keys, while supporting:
Special element: the finger element
a c d g j ` m o q s z0 1 2 3 4 5 6 7 8 9 10
finger
n=11
![Page 68: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/68.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
Insert(k)
Delete(k)
Find(k)
Predecessor(k)
Only in dynamic structures
Time: O(log n)
Successor(k)
Maintain a (dynamic) set of n keys, while supporting:
Special element: the finger element
a c d g j ` m o q s z0 1 2 3 4 5 6 7 8 9 10
finger
n=11
Find(m)
![Page 69: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/69.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
Insert(k)
Delete(k)
Find(k)
Predecessor(k)
Only in dynamic structures
Time: O(log n)
Successor(k)
Maintain a (dynamic) set of n keys, while supporting:
Special element: the finger element
a c d g j ` m o q s z0 1 2 3 4 5 6 7 8 9 10
finger
n=11
Find(m)
Distance: t = 3
![Page 70: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/70.jpg)
Dictionary and Fingersearch
6/24
Jesper Sindahl Nielsen
Insert(k)
Delete(k)
Find(k)
Predecessor(k)
Only in dynamic structures
Time: O(log n)
Successor(k)
Maintain a (dynamic) set of n keys, while supporting:
Special element: the finger element
a c d g j ` m o q s z0 1 2 3 4 5 6 7 8 9 10
finger
n=11
Find(m)
Distance: t = 3
Time: O(log t) forFind, Predecessor, and Successor
![Page 71: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/71.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
![Page 72: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/72.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
![Page 73: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/73.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
· · ·
220
221
222
22`
· · · · · · · · ·
![Page 74: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/74.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
· · ·
220
221
222
D0
22`
· · · · · · · · ·
![Page 75: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/75.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
· · ·
220
221
222
D0 D1
22`
· · · · · · · · ·
![Page 76: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/76.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
· · ·
· · ·
220
221
222
D0 D1 D2 D`
22`
· · · · · · · · ·
![Page 77: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/77.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
· · ·
· · ·
220
221
222
D0 D1 D2 D`
22`
· · ·
Elements in sorted order
· · · · · ·
![Page 78: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/78.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
· · ·
· · ·
220
221
222
D0 D1 D2 D`
f
22`
· · ·
Elements in sorted order
· · · · · ·
![Page 79: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/79.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
· · ·
· · ·
220
221
222
D0 D1 D2 D`
f
22`
· · ·
Elements in sorted order
· · · · · ·
![Page 80: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/80.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
· · ·
· · ·
220
221
222
D0 D1 D2 D`
f
22`
· · ·
Elements in sorted order
· · · · · ·
![Page 81: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/81.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
· · ·
· · ·
220
221
222
D0 D1 D2 D`
f
22`
· · ·
Elements in sorted order
· · · · · ·
![Page 82: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/82.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
· · ·
· · ·
220
221
222
D0 D1 D2 D`
f
22`
· · ·
Elements in sorted order
· · · · · ·
![Page 83: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/83.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
· · ·
· · ·
220
221
222
D0 D1 D2 D`
f
22`
· · ·
Elements in sorted order
· · · · · ·
![Page 84: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/84.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
· · ·
· · ·
220
221
222
D0 D1 D2 D`
f
22`
· · ·
Elements in sorted order
· · · · · ·
![Page 85: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/85.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
· · ·
· · ·
220
221
222
D0 D1 D2 D`
f
22`
· · ·
Elements in sorted order
· · ·
· · · · · ·
· · ·
![Page 86: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/86.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
· · ·
· · ·
220
221
222
D0 D1 D2 D`
f
22`
· · ·
Elements in sorted order
· · ·
· · · · · ·
· · ·
Operation Time
Insert
Delete
Find O(log t)
Change-Finger
O(logn)
O(logn)
O(nε)
![Page 87: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/87.jpg)
Implicit Finger Search Idea
7/24
Jesper Sindahl Nielsen
· · ·
· · ·
220
221
222
D0 D1 D2 D`
f
22`
· · ·
Elements in sorted order
· · ·
· · · · · ·
· · ·
Operation Time
Insert
Delete
Find O(log t)
Change-Finger
O(logn)
O(logn)
O(nε)
optimal trade-off
![Page 88: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/88.jpg)
Priority Queues
8/24
Jesper Sindahl Nielsen
![Page 89: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/89.jpg)
Priority Queues
8/24
Jesper Sindahl Nielsen
Maintain a set of n keys and support:
• FindMin: Return the minimum element• ExtractMin: Remove the minimum element from the set• Insert(k): Add the key k to the set
![Page 90: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/90.jpg)
Priority Queues
8/24
Jesper Sindahl Nielsen
Maintain a set of n keys and support:
• FindMin: Return the minimum element• ExtractMin: Remove the minimum element from the set• Insert(k): Add the key k to the set
![Page 91: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/91.jpg)
Priority Queues
8/24
Jesper Sindahl Nielsen
Maintain a set of n keys and support:
• FindMin: Return the minimum element• ExtractMin: Remove the minimum element from the set• Insert(k): Add the key k to the set
![Page 92: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/92.jpg)
Priority Queues
8/24
Jesper Sindahl Nielsen
Maintain a set of n keys and support:
• FindMin: Return the minimum element• ExtractMin: Remove the minimum element from the set• Insert(k): Add the key k to the set
![Page 93: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/93.jpg)
Priority Queues
8/24
Jesper Sindahl Nielsen
Maintain a set of n keys and support:
• FindMin: Return the minimum element• ExtractMin: Remove the minimum element from the set• Insert(k): Add the key k to the set
Insert ExtractMin Moves StrictIdenticalElements
Amortized bounds are marked with ?
![Page 94: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/94.jpg)
Priority Queues
8/24
Jesper Sindahl Nielsen
Maintain a set of n keys and support:
• FindMin: Return the minimum element• ExtractMin: Remove the minimum element from the set• Insert(k): Add the key k to the set
Williams
Insert ExtractMin Moves StrictIdenticalElements
Amortized bounds are marked with ?
log nlog n log n yes yes
![Page 95: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/95.jpg)
Priority Queues
8/24
Jesper Sindahl Nielsen
Maintain a set of n keys and support:
• FindMin: Return the minimum element• ExtractMin: Remove the minimum element from the set• Insert(k): Add the key k to the set
Williams
Carlsson et al.
Insert ExtractMin Moves StrictIdenticalElements
Amortized bounds are marked with ?
log nlog n log n yes yes
log n1 log n no yes
![Page 96: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/96.jpg)
Priority Queues
8/24
Jesper Sindahl Nielsen
Maintain a set of n keys and support:
• FindMin: Return the minimum element• ExtractMin: Remove the minimum element from the set• Insert(k): Add the key k to the set
Williams
Carlsson et al.
Insert ExtractMin Moves StrictIdenticalElements
Amortized bounds are marked with ?
log nlog n log n yes yes
log n1 log n no yes
log n1 log n no yesEdelkamp et al.
![Page 97: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/97.jpg)
Priority Queues
8/24
Jesper Sindahl Nielsen
Maintain a set of n keys and support:
• FindMin: Return the minimum element• ExtractMin: Remove the minimum element from the set• Insert(k): Add the key k to the set
Williams
Carlsson et al.
Harvey & Zatloukal
Insert ExtractMin Moves StrictIdenticalElements
Amortized bounds are marked with ?
log nlog n log n yes yes
log n1 log n no yes
log n1 log n no yesEdelkamp et al.
? log n? 1 ? log n yes yes
![Page 98: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/98.jpg)
Priority Queues
8/24
Jesper Sindahl Nielsen
Maintain a set of n keys and support:
• FindMin: Return the minimum element• ExtractMin: Remove the minimum element from the set• Insert(k): Add the key k to the set
Williams
Franceschini & Munro
Carlsson et al.
Harvey & Zatloukal
Insert ExtractMin Moves StrictIdenticalElements
Amortized bounds are marked with ?
log nlog n log n yes yes
log n1 log n no yes
log n1 log n no yesEdelkamp et al.
? log n? 1 ? log n yes yes
? log n? log n ? 1 yes no
![Page 99: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/99.jpg)
Priority Queues
8/24
Jesper Sindahl Nielsen
Maintain a set of n keys and support:
• FindMin: Return the minimum element• ExtractMin: Remove the minimum element from the set• Insert(k): Add the key k to the set
Williams
Franceschini & Munro
Carlsson et al.
Harvey & Zatloukal
Insert ExtractMin Moves StrictIdenticalElements
Amortized bounds are marked with ?
log nlog n log n yes yes
log n1 log n no yes
log n1 log n no yesEdelkamp et al.
? log n? 1 ? log n yes yes
? log n? log n ? 1 yes no
? log n? 1 ? 1 yes yesNew
![Page 100: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/100.jpg)
Priority Queues
8/24
Jesper Sindahl Nielsen
Maintain a set of n keys and support:
• FindMin: Return the minimum element• ExtractMin: Remove the minimum element from the set• Insert(k): Add the key k to the set
Williams
Franceschini & Munro
Carlsson et al.
Harvey & Zatloukal
Insert ExtractMin Moves StrictIdenticalElements
Amortized bounds are marked with ?
log nlog n log n yes yes
log n1 log n no yes
log n1 log n no yesEdelkamp et al.
? log n? 1 ? log n yes yes
? log n? log n ? 1 yes no
? log n? 1 ? 1 yes yes
log n1 log n yes no
New
New
![Page 101: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/101.jpg)
Outline
9/24
Jesper Sindahl Nielsen
![Page 102: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/102.jpg)
Outline
9/24
Jesper Sindahl Nielsen
1. Algorithms and Data Structures(a) Abstract description(b) Example
2. Implicit Data Structures(a) Finger Search(b) Priority Queues
3. Integer Sorting4. Text Indexing5. State and University Library
![Page 103: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/103.jpg)
Outline
9/24
Jesper Sindahl Nielsen
1. Algorithms and Data Structures(a) Abstract description(b) Example
2. Implicit Data Structures(a) Finger Search(b) Priority Queues
3. Integer Sorting4. Text Indexing5. State and University Library
![Page 104: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/104.jpg)
Integer Sorting
10/24
Jesper Sindahl Nielsen
Comparison based sorting: only allowed operation ≤
![Page 105: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/105.jpg)
Integer Sorting
10/24
Jesper Sindahl Nielsen
Comparison based sorting: only allowed operation ≤
![Page 106: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/106.jpg)
Integer Sorting
10/24
Jesper Sindahl Nielsen
Comparison based sorting: only allowed operation ≤
A B
![Page 107: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/107.jpg)
Integer Sorting
10/24
Jesper Sindahl Nielsen
Comparison based sorting: only allowed operation ≤
A B
![Page 108: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/108.jpg)
Integer Sorting
10/24
Jesper Sindahl Nielsen
Comparison based sorting: only allowed operation ≤
A B
conclude A > B
![Page 109: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/109.jpg)
Integer Sorting
10/24
Jesper Sindahl Nielsen
Comparison based sorting: only allowed operation ≤
A B
conclude A > B
To sort n gold pieces we needΘ(n log n) scalings/comparisons
![Page 110: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/110.jpg)
Integer Sorting
10/24
Jesper Sindahl Nielsen
Comparison based sorting: only allowed operation ≤
A B
conclude A > B
To sort n gold pieces we needΘ(n log n) scalings/comparisons
A B
287315
![Page 111: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/111.jpg)
Integer Sorting
10/24
Jesper Sindahl Nielsen
Comparison based sorting: only allowed operation ≤
A B
conclude A > B
To sort n gold pieces we needΘ(n log n) scalings/comparisons
A B
287315
Question: Can we sort faster ifwe have access to a digital scale?
![Page 112: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/112.jpg)
Integer Sorting
10/24
Jesper Sindahl Nielsen
Comparison based sorting: only allowed operation ≤
A B
conclude A > B
To sort n gold pieces we needΘ(n log n) scalings/comparisons
A B
287315
Question: Can we sort faster ifwe have access to a digital scale?
Answer: Yes.
![Page 113: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/113.jpg)
Integer Sorting
10/24
Jesper Sindahl Nielsen
Comparison based sorting: only allowed operation ≤
A B
conclude A > B
To sort n gold pieces we needΘ(n log n) scalings/comparisons
A B
287315
Question: Can we sort faster ifwe have access to a digital scale?
Answer: Yes.
Question: How much faster?
![Page 114: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/114.jpg)
Integer Sorting
10/24
Jesper Sindahl Nielsen
Comparison based sorting: only allowed operation ≤
A B
conclude A > B
To sort n gold pieces we needΘ(n log n) scalings/comparisons
A B
287315
Question: Can we sort faster ifwe have access to a digital scale?
Answer: Yes.
Depends on accuracy of the scale
Question: How much faster?
![Page 115: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/115.jpg)
Integer Sorting
11/24
Jesper Sindahl Nielsen
![Page 116: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/116.jpg)
Integer Sorting
11/24
Jesper Sindahl Nielsen
Time Space NotesAlgorithm
w is the number of bits per word.
![Page 117: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/117.jpg)
Integer Sorting
11/24
Jesper Sindahl Nielsen
Time Space NotesAlgorithm
Radix sort (1887?) O(n · wlogn
) O(n) optimal for w = O(log n)
w is the number of bits per word.
![Page 118: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/118.jpg)
Integer Sorting
11/24
Jesper Sindahl Nielsen
Time Space NotesAlgorithm
Radix sort (1887?) O(n · wlogn
) O(n) optimal for w = O(log n)
vEB sort (1975) O(n log w) O(2w) Only O(n) space with Y-fast trie
w is the number of bits per word.
![Page 119: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/119.jpg)
Integer Sorting
11/24
Jesper Sindahl Nielsen
Time Space NotesAlgorithm
Radix sort (1887?) O(n · wlogn
) O(n) optimal for w = O(log n)
vEB sort (1975) O(n log w) O(2w) Only O(n) space with Y-fast trie
Kirkpatrick &Reisch (1984)
O(n log wlogn
) Only asymptotically better thanvEB when w = O(log n)
w is the number of bits per word.
![Page 120: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/120.jpg)
Integer Sorting
11/24
Jesper Sindahl Nielsen
Time Space NotesAlgorithm
Radix sort (1887?) O(n · wlogn
) O(n) optimal for w = O(log n)
vEB sort (1975) O(n log w) O(2w) Only O(n) space with Y-fast trie
Kirkpatrick &Reisch (1984)
O(n log wlogn
) Only asymptotically better thanvEB when w = O(log n)
Signature sort(1995)
O(n) O(n) Only for w = Ω(log2+ε n)
w is the number of bits per word.
![Page 121: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/121.jpg)
Integer Sorting
11/24
Jesper Sindahl Nielsen
Time Space NotesAlgorithm
Radix sort (1887?) O(n · wlogn
) O(n) optimal for w = O(log n)
vEB sort (1975) O(n log w) O(2w) Only O(n) space with Y-fast trie
Kirkpatrick &Reisch (1984)
O(n log wlogn
) Only asymptotically better thanvEB when w = O(log n)
Signature sort(1995)
O(n) O(n) Only for w = Ω(log2+ε n)
Han & Thorup(2002) O(n
√log(w/ log n)) Randomized with mulitplicationO(n)
w is the number of bits per word.
![Page 122: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/122.jpg)
Integer Sorting
11/24
Jesper Sindahl Nielsen
Time Space NotesAlgorithm
Radix sort (1887?) O(n · wlogn
) O(n) optimal for w = O(log n)
vEB sort (1975) O(n log w) O(2w) Only O(n) space with Y-fast trie
Kirkpatrick &Reisch (1984)
O(n log wlogn
) Only asymptotically better thanvEB when w = O(log n)
Signature sort(1995)
O(n) O(n) Only for w = Ω(log2+ε n)
Han & Thorup(2002) O(n
√log(w/ log n)) Randomized with mulitplication
Thorup (2002) O(n log log n) O(n) Randomized, AC0
O(n)
w is the number of bits per word.
![Page 123: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/123.jpg)
Integer Sorting
11/24
Jesper Sindahl Nielsen
Time Space NotesAlgorithm
Radix sort (1887?) O(n · wlogn
) O(n) optimal for w = O(log n)
vEB sort (1975) O(n log w) O(2w) Only O(n) space with Y-fast trie
Kirkpatrick &Reisch (1984)
O(n log wlogn
) Only asymptotically better thanvEB when w = O(log n)
Signature sort(1995)
O(n) O(n) Only for w = Ω(log2+ε n)
Han & Thorup(2002) O(n
√log(w/ log n)) Randomized with mulitplication
Thorup (2002) O(n log log n) O(n) Randomized, AC0
O(n)
Han (2004) O(n log log n) O(n) Deterministic, with multiplication
w is the number of bits per word.
![Page 124: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/124.jpg)
Integer Sorting
12/24
Jesper Sindahl Nielsen
Time NotesAlgorithm
Radix sort (1887?) O(n · wlogn
) Optimal for w = O(log n)
Signature sort (1995) O(n) Only for w = Ω(log2+ε n)
Han & Thorup (2002) O(n√log(w/ log n)
)Randomized with mulitplication
Time per element
w
log n
O(1)
O(√log log n)
log2 n log log n log2+ε n
NEW1
2
3
1
2
3
![Page 125: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/125.jpg)
Overview
13/24
Jesper Sindahl Nielsen
1. Algorithms and Data Structures(a) Abstract description(b) Example
2. Implicit Data Structures(a) Finger Search(b) Priority Queues
3. Integer Sorting4. Text Indexing5. State and University Library
![Page 126: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/126.jpg)
Overview
13/24
Jesper Sindahl Nielsen
1. Algorithms and Data Structures(a) Abstract description(b) Example
2. Implicit Data Structures(a) Finger Search(b) Priority Queues
3. Integer Sorting4. Text Indexing5. State and University Library
![Page 127: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/127.jpg)
Text Indexing
14/24
Jesper Sindahl Nielsen
![Page 128: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/128.jpg)
Text Indexing
14/24
Jesper Sindahl Nielsen
Most of us daily use services like Google, Bing, etc.
![Page 129: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/129.jpg)
Text Indexing
14/24
Jesper Sindahl Nielsen
Most of us daily use services like Google, Bing, etc.
![Page 130: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/130.jpg)
Text Indexing
14/24
Jesper Sindahl Nielsen
Most of us daily use services like Google, Bing, etc.
We want documents that contain both terms
![Page 131: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/131.jpg)
Text Indexing
14/24
Jesper Sindahl Nielsen
Most of us daily use services like Google, Bing, etc.
We want documents that contain both terms
![Page 132: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/132.jpg)
Text Indexing
14/24
Jesper Sindahl Nielsen
Most of us daily use services like Google, Bing, etc.
We want documents that contain both terms
Find all emails sent to madalgo that are not seminars
![Page 133: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/133.jpg)
Text Indexing - Two Patterns
15/24
Jesper Sindahl Nielsen
![Page 134: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/134.jpg)
Text Indexing - Two Patterns
15/24
Jesper Sindahl Nielsen
Problem definition:
![Page 135: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/135.jpg)
Text Indexing - Two Patterns
15/24
Jesper Sindahl Nielsen
Problem definition:
Given documents D = d1, d2, . . . , dD
![Page 136: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/136.jpg)
Text Indexing - Two Patterns
15/24
Jesper Sindahl Nielsen
Problem definition:
Given documents D = d1, d2, . . . , dD
preprocess and store D such that
![Page 137: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/137.jpg)
Text Indexing - Two Patterns
15/24
Jesper Sindahl Nielsen
Problem definition:
Given documents D = d1, d2, . . . , dD
preprocess and store D such that
when given two text strings P1, P2 (online)
![Page 138: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/138.jpg)
Text Indexing - Two Patterns
15/24
Jesper Sindahl Nielsen
Problem definition:
Given documents D = d1, d2, . . . , dD
preprocess and store D such that
when given two text strings P1, P2 (online)
we can report all di where both P1 and P2 occur
![Page 139: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/139.jpg)
Text Indexing - Two Patterns
15/24
Jesper Sindahl Nielsen
Problem definition:
Given documents D = d1, d2, . . . , dD
preprocess and store D such that
when given two text strings P1, P2 (online)
we can report all di where both P1 and P2 occur(The two-pattern problem)
![Page 140: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/140.jpg)
Text Indexing - Two Patterns
15/24
Jesper Sindahl Nielsen
Problem definition:
Given documents D = d1, d2, . . . , dD
preprocess and store D such that
when given two text strings P1, P2 (online)
we can report all di where both P1 and P2 occur
we can report all di where both P1 occurs but P2
does not occur
(The two-pattern problem)
![Page 141: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/141.jpg)
Text Indexing - Two Patterns
15/24
Jesper Sindahl Nielsen
Problem definition:
Given documents D = d1, d2, . . . , dD
preprocess and store D such that
when given two text strings P1, P2 (online)
we can report all di where both P1 and P2 occur
we can report all di where both P1 occurs but P2
does not occur
(The two-pattern problem)
(The forbidden pattern problem)
![Page 142: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/142.jpg)
Text Indexing - Two Patterns
16/24
Jesper Sindahl Nielsen
Space Query Time AuthorsProblem
![Page 143: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/143.jpg)
Text Indexing - Two Patterns
16/24
Jesper Sindahl Nielsen
Space Query Time AuthorsProblem
Two-Pattern (2P) n2−α logc n nα + t Ferragina et al. ’03
![Page 144: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/144.jpg)
Text Indexing - Two Patterns
16/24
Jesper Sindahl Nielsen
Space Query Time AuthorsProblem
Two-Pattern (2P) n2−α logc n nα + t Ferragina et al. ’03
Two-Pattern n logn√nt log n log2 n + t Cohen and Porat ’10
![Page 145: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/145.jpg)
Text Indexing - Two Patterns
16/24
Jesper Sindahl Nielsen
Space Query Time AuthorsProblem
Two-Pattern (2P) n2−α logc n nα + t Ferragina et al. ’03
Two-Pattern n logn√nt log n log2 n + t
Two-Pattern n√nt log n log n + t
Cohen and Porat ’10
Hon et al. ’10
![Page 146: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/146.jpg)
Text Indexing - Two Patterns
16/24
Jesper Sindahl Nielsen
Space Query Time AuthorsProblem
Two-Pattern (2P) n2−α logc n nα + t Ferragina et al. ’03
Two-Pattern n logn√nt log n log2 n + t
Two-Pattern n√nt log n log n + t
Cohen and Porat ’10
Hon et al. ’10
Forbidden Pattern (FP) n3/2/ logn√n + t Fischer et al. ’12
![Page 147: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/147.jpg)
Text Indexing - Two Patterns
16/24
Jesper Sindahl Nielsen
Space Query Time AuthorsProblem
Two-Pattern (2P) n2−α logc n nα + t Ferragina et al. ’03
Two-Pattern n logn√nt log n log2 n + t
Two-Pattern n√nt log n log n + t
Cohen and Porat ’10
Hon et al. ’10
Forbidden Pattern (FP) n3/2/ logn√n + t Fischer et al. ’12
Forbidden Pattern Hon et al. ’12n√nt log n log2 n + t
![Page 148: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/148.jpg)
Text Indexing - Two Patterns
16/24
Jesper Sindahl Nielsen
Space Query Time AuthorsProblem
Two-Pattern (2P) n2−α logc n nα + t Ferragina et al. ’03
Two-Pattern n logn√nt log n log2 n + t
Two-Pattern n√nt log n log n + t
Cohen and Porat ’10
Hon et al. ’10
Forbidden Pattern (FP) n3/2/ logn√n + t Fischer et al. ’12
Forbidden Pattern Hon et al. ’12n√nt log n log2 n + t
Both 2P and FP n√nt log n logε n + t New
![Page 149: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/149.jpg)
Text Indexing - Two Patterns
16/24
Jesper Sindahl Nielsen
Space Query Time AuthorsProblem
Two-Pattern (2P) n2−α logc n nα + t Ferragina et al. ’03
Two-Pattern n logn√nt log n log2 n + t
Two-Pattern n√nt log n log n + t
Cohen and Porat ’10
Hon et al. ’10
Forbidden Pattern (FP) n3/2/ logn√n + t Fischer et al. ’12
Forbidden Pattern Hon et al. ’12n√nt log n log2 n + t
Both 2P and FP n√nt log n logε n + t New
Is√n query time really necessary?
![Page 150: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/150.jpg)
Text Indexing - Two Patterns
17/24
Jesper Sindahl Nielsen
![Page 151: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/151.jpg)
Text Indexing - Two Patterns
17/24
Jesper Sindahl Nielsen
Build suffix tree on concatenation of the documents
![Page 152: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/152.jpg)
Text Indexing - Two Patterns
17/24
Jesper Sindahl Nielsen
Build suffix tree on concatenation of the documents
S = d1$d2$ · · · $dD$
![Page 153: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/153.jpg)
Text Indexing - Two Patterns
17/24
Jesper Sindahl Nielsen
Build suffix tree on concatenation of the documents
S = d1$d2$ · · · $dD$
![Page 154: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/154.jpg)
Text Indexing - Two Patterns
17/24
Jesper Sindahl Nielsen
Build suffix tree on concatenation of the documents
S = d1$d2$ · · · $dD$
Annotate each leaf with thedocument id the suffx starts in
4 5 4 7 6 4 8 9 9 1 2 3
![Page 155: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/155.jpg)
Text Indexing - Two Patterns
17/24
Jesper Sindahl Nielsen
Build suffix tree on concatenation of the documents
S = d1$d2$ · · · $dD$
Annotate each leaf with thedocument id the suffx starts in
4 5 4 7 6 4 8 9 9 1 2 3Query: P1 P2and
![Page 156: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/156.jpg)
Text Indexing - Two Patterns
17/24
Jesper Sindahl Nielsen
Build suffix tree on concatenation of the documents
S = d1$d2$ · · · $dD$
Annotate each leaf with thedocument id the suffx starts in
4 5 4 7 6 4 8 9 9 1 2 3Query: P1 P2and
![Page 157: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/157.jpg)
Text Indexing - Two Patterns
17/24
Jesper Sindahl Nielsen
Build suffix tree on concatenation of the documents
S = d1$d2$ · · · $dD$
Annotate each leaf with thedocument id the suffx starts in
4 5 4 7 6 4 8 9 9 1 2 3Query: P1 P2and
P1P2
![Page 158: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/158.jpg)
Text Indexing - Two Patterns
17/24
Jesper Sindahl Nielsen
Build suffix tree on concatenation of the documents
S = d1$d2$ · · · $dD$
Annotate each leaf with thedocument id the suffx starts in
4 5 4 7 6 4 8 9 9 1 2 3Query: P1 P2and
A
P1P2
![Page 159: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/159.jpg)
Text Indexing - Two Patterns
17/24
Jesper Sindahl Nielsen
Build suffix tree on concatenation of the documents
S = d1$d2$ · · · $dD$
Annotate each leaf with thedocument id the suffx starts in
4 5 4 7 6 4 8 9 9 1 2 3Query: P1 P2and
A B
P1P2
![Page 160: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/160.jpg)
Text Indexing - Two Patterns
17/24
Jesper Sindahl Nielsen
Build suffix tree on concatenation of the documents
S = d1$d2$ · · · $dD$
Annotate each leaf with thedocument id the suffx starts in
4 5 4 7 6 4 8 9 9 1 2 3Query: P1 P2and
A B
Report: A B∩
P1P2
![Page 161: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/161.jpg)
Text Indexing - Two Patterns
17/24
Jesper Sindahl Nielsen
Build suffix tree on concatenation of the documents
S = d1$d2$ · · · $dD$
Annotate each leaf with thedocument id the suffx starts in
4 5 4 7 6 4 8 9 9 1 2 3Query: P1 P2and
A B
Report: A B∩
P1P2
= 4
![Page 162: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/162.jpg)
Text Indexing - Two Patterns
17/24
Jesper Sindahl Nielsen
Build suffix tree on concatenation of the documents
S = d1$d2$ · · · $dD$
Annotate each leaf with thedocument id the suffx starts in
4 5 4 7 6 4 8 9 9 1 2 3Query: P1 P2and
A B
Report: A B∩
P1P2
= 4set intersection is usually hard
![Page 163: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/163.jpg)
Text Indexing - Two Patterns
18/24
Jesper Sindahl Nielsen
![Page 164: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/164.jpg)
Text Indexing - Two Patterns
18/24
Jesper Sindahl Nielsen
Lower Bound NotesProblem
![Page 165: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/165.jpg)
Text Indexing - Two Patterns
18/24
Jesper Sindahl Nielsen
Lower Bound NotesProblem
Both 2P and FP ω is matrix multiplication constant (new)P (n) + nQ(n) = Ω(nω)
![Page 166: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/166.jpg)
Text Indexing - Two Patterns
18/24
Jesper Sindahl Nielsen
Lower Bound NotesProblem
Both 2P and FP ω is matrix multiplication constant (new)P (n) + nQ(n) = Ω(nω)
Two-Pattern P (n) + n1+εQ(n) = Ω(n4/3−o(1)) Kopelowitz et al (3SUM)
![Page 167: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/167.jpg)
Text Indexing - Two Patterns
18/24
Jesper Sindahl Nielsen
Lower Bound NotesProblem
Both 2P and FP ω is matrix multiplication constant (new)P (n) + nQ(n) = Ω(nω)
Two-Pattern P (n) + n1+εQ(n) = Ω(n4/3−o(1))
Two-Pattern P (n) + n3/4+εQ(n) = Ω(n4/3−ε)
Kopelowitz et al (3SUM)
Kopelowitz et al (3SUM)
![Page 168: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/168.jpg)
Text Indexing - Two Patterns
18/24
Jesper Sindahl Nielsen
Lower Bound NotesProblem
Both 2P and FP ω is matrix multiplication constant (new)P (n) + nQ(n) = Ω(nω)
Two-Pattern P (n) + n1+εQ(n) = Ω(n4/3−o(1))
Two-Pattern P (n) + n3/4+εQ(n) = Ω(n4/3−ε)
Kopelowitz et al (3SUM)
Kopelowitz et al (3SUM)
![Page 169: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/169.jpg)
Text Indexing - Two Patterns
18/24
Jesper Sindahl Nielsen
Lower Bound NotesProblem
Both 2P and FP ω is matrix multiplication constant (new)
Both 2P and FP Pointer Machine Model (new)
P (n) + nQ(n) = Ω(nω)
S(n)Q(n) = Ω(n2−o(1))
Two-Pattern P (n) + n1+εQ(n) = Ω(n4/3−o(1))
Two-Pattern P (n) + n3/4+εQ(n) = Ω(n4/3−ε)
Kopelowitz et al (3SUM)
Kopelowitz et al (3SUM)
![Page 170: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/170.jpg)
Text Indexing - Two Patterns
18/24
Jesper Sindahl Nielsen
Lower Bound NotesProblem
Both 2P and FP ω is matrix multiplication constant (new)
Both 2P and FP Pointer Machine Model (new)
Semi group model (new)
P (n) + nQ(n) = Ω(nω)
S(n)Q(n) = Ω(n2−o(1))
S(n)Q(n)2 = Ω(n2−o(1))Both 2P and FP
Two-Pattern P (n) + n1+εQ(n) = Ω(n4/3−o(1))
Two-Pattern P (n) + n3/4+εQ(n) = Ω(n4/3−ε)
Kopelowitz et al (3SUM)
Kopelowitz et al (3SUM)
![Page 171: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/171.jpg)
Text Indexing - Two Patterns
18/24
Jesper Sindahl Nielsen
Lower Bound NotesProblem
Both 2P and FP ω is matrix multiplication constant (new)
Both 2P and FP Pointer Machine Model (new)
Semi group model (new)
P (n) + nQ(n) = Ω(nω)
S(n)Q(n) = Ω(n2−o(1))
S(n)Q(n)2 = Ω(n2−o(1))Both 2P and FP
Two-Pattern P (n) + n1+εQ(n) = Ω(n4/3−o(1))
Two-Pattern P (n) + n3/4+εQ(n) = Ω(n4/3−ε)
Kopelowitz et al (3SUM)
Kopelowitz et al (3SUM)
Q(n) = (nt)12−α ⇒
Both 2P and FPS(n) = Ω(n
1+6α1+2α
−o(1))
Pointer Machine Modelt is the output size (new)
![Page 172: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/172.jpg)
Text Indexing - How to prove the lower bounds?
19/24
Jesper Sindahl Nielsen
We use two different techniques:
1) Reduction from Matrix Multiplication
2) Find a hard input for a Pointer Machine Data Structure
1) Given two matrices, produce a set of documentsand queries such that the product of the twomatrices can be found
![Page 173: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/173.jpg)
Text Indexing - How to prove the lower bounds?
20/24
Jesper Sindahl Nielsen
![Page 174: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/174.jpg)
× =T F TT F FT T T
F F TF T TT F T
A B C
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
Jesper Sindahl Nielsen
![Page 175: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/175.jpg)
× =T F TT F FT T T
F F TF T TT F T
A B C
dA1 = 1#2#3#
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
Jesper Sindahl Nielsen
![Page 176: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/176.jpg)
× =T F TT F FT T T
F F TF T TT F T
A B C
dA1 = 1#2#3#
dA2 = 3#
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
Jesper Sindahl Nielsen
![Page 177: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/177.jpg)
× =T F TT F FT T T
F F TF T TT F T
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
Jesper Sindahl Nielsen
![Page 178: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/178.jpg)
× =T F TT F FT T T
F F TF T TT F T
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
dB1 = 6#
123
4 5 6 Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
Jesper Sindahl Nielsen
![Page 179: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/179.jpg)
× =T F TT F FT T T
F F TF T TT F T
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
dB1 = 6#
dB2 = 5#6#
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
Jesper Sindahl Nielsen
![Page 180: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/180.jpg)
× =T F TT F FT T T
F F TF T TT F T
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
dB1 = 6#
dB2 = 5#6#
dB3 = 4#6#
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
Jesper Sindahl Nielsen
![Page 181: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/181.jpg)
× =T F TT F FT T T
F F TF T TT F T
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
dB1 = 6#
dB2 = 5#6#
dB3 = 4#6#
d1 = 1#2#3#6#
d2 = 3#5#6#
d3 = 1#3#4#6#
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
Jesper Sindahl Nielsen
![Page 182: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/182.jpg)
× =T F TT F FT T T
F F TF T TT F T
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
dB1 = 6#
dB2 = 5#6#
dB3 = 4#6#
d1 = 1#2#3#6#
d2 = 3#5#6#
d3 = 1#3#4#6# D
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
Jesper Sindahl Nielsen
![Page 183: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/183.jpg)
× =T F TT F FT T T
F F TF T TT F T
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
dB1 = 6#
dB2 = 5#6#
dB3 = 4#6#
d1 = 1#2#3#6#
d2 = 3#5#6#
d3 = 1#3#4#6# D
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
P1 = 1 P2 = 4Jesper Sindahl Nielsen
Query:
![Page 184: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/184.jpg)
× =T F TT F FT T T
F F TF T TT F T
T
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
dB1 = 6#
dB2 = 5#6#
dB3 = 4#6#
d1 = 1#2#3#6#
d2 = 3#5#6#
d3 = 1#3#4#6# D
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
P1 = 1 P2 = 4Jesper Sindahl Nielsen
Query:
![Page 185: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/185.jpg)
× =T F TT F FT T T
F F TF T TT F T
T
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
dB1 = 6#
dB2 = 5#6#
dB3 = 4#6#
d1 = 1#2#3#6#
d2 = 3#5#6#
d3 = 1#3#4#6# D
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
1 5P1 = 1 P2 =Jesper Sindahl Nielsen
Query:
![Page 186: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/186.jpg)
× =T F TT F FT T T
F F TF T TT F T
T F
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
dB1 = 6#
dB2 = 5#6#
dB3 = 4#6#
d1 = 1#2#3#6#
d2 = 3#5#6#
d3 = 1#3#4#6# D
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
1 5P1 = 1 P2 =Jesper Sindahl Nielsen
Query:
![Page 187: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/187.jpg)
× =T F TT F FT T T
F F TF T TT F T
T F
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
dB1 = 6#
dB2 = 5#6#
dB3 = 4#6#
d1 = 1#2#3#6#
d2 = 3#5#6#
d3 = 1#3#4#6# D
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
i ∈ d` ⇔ Ai,` = Tj + 3 ∈ d` ⇔ B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
1 5P1 = 1 P2 =Jesper Sindahl Nielsen
Query:
![Page 188: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/188.jpg)
× =T F TT F FT T T
F F TF T TT F T
T F TF F TT
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
dB1 = 6#
dB2 = 5#6#
dB3 = 4#6#
d1 = 1#2#3#6#
d2 = 3#5#6#
d3 = 1#3#4#6# D
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
i ∈ d` ⇔ Ai,` = Tj + 3 ∈ d` ⇔ B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
Jesper Sindahl Nielsen
Query:
![Page 189: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/189.jpg)
× =T F TT F FT T T
F F TF T TT F T
T F TF F TT
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
dB1 = 6#
dB2 = 5#6#
dB3 = 4#6#
d1 = 1#2#3#6#
d2 = 3#5#6#
d3 = 1#3#4#6# D
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
i ∈ d` ⇔ Ai,` = Tj + 3 ∈ d` ⇔ B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
3 5P1 = P2 =Jesper Sindahl Nielsen
Query:
![Page 190: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/190.jpg)
× =T F TT F FT T T
F F TF T TT F T
T F TF F TT T
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
dB1 = 6#
dB2 = 5#6#
dB3 = 4#6#
d1 = 1#2#3#6#
d2 = 3#5#6#
d3 = 1#3#4#6# D
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
i ∈ d` ⇔ Ai,` = Tj + 3 ∈ d` ⇔ B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
3 5P1 = P2 =Jesper Sindahl Nielsen
Query:
![Page 191: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/191.jpg)
× =T F TT F FT T T
F F TF T TT F T
T F TF F TT T
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
dB1 = 6#
dB2 = 5#6#
dB3 = 4#6#
d1 = 1#2#3#6#
d2 = 3#5#6#
d3 = 1#3#4#6# D
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
i ∈ d` ⇔ Ai,` = Tj + 3 ∈ d` ⇔ B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
Jesper Sindahl Nielsen
3 6P1 = P2 =Query:
![Page 192: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/192.jpg)
× =T F TT F FT T T
F F TF T TT F T
T F TF F TT T T
A B C
dA1 = 1#2#3#
dA2 = 3#
dA3 = 1#3#
dB1 = 6#
dB2 = 5#6#
dB3 = 4#6#
d1 = 1#2#3#6#
d2 = 3#5#6#
d3 = 1#3#4#6# D
123
Ci,j = T ⇔ ∃` s.t.
Ai,` = B`,j = T
i ∈ d` ⇔ Ai,` = Tj + 3 ∈ d` ⇔ B`,j = T
Text Indexing - How to prove the lower bounds?
20/24
Jesper Sindahl Nielsen
3 6P1 = P2 =Query:
![Page 193: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/193.jpg)
Overview
21/24
Jesper Sindahl Nielsen
1. Algorithms and Data Structures(a) Abstract description(b) Example
2. Implicit Data Structures(a) Finger Search(b) Priority Queues
3. Integer Sorting4. Text Indexing5. State and University Library
![Page 194: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/194.jpg)
Overview
21/24
Jesper Sindahl Nielsen
1. Algorithms and Data Structures(a) Abstract description(b) Example
2. Implicit Data Structures(a) Finger Search(b) Priority Queues
3. Integer Sorting4. Text Indexing5. State and University Library
![Page 195: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/195.jpg)
State and University Library
22/24
Jesper Sindahl Nielsen
![Page 196: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/196.jpg)
State and University Library
22/24
Jesper Sindahl Nielsen
![Page 197: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/197.jpg)
State and University Library
22/24
Jesper Sindahl Nielsen
![Page 198: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/198.jpg)
State and University Library
22/24
Jesper Sindahl Nielsen
![Page 199: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/199.jpg)
State and University Library
22/24
Jesper Sindahl Nielsen
”Old Days”
![Page 200: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/200.jpg)
State and University Library
22/24
Jesper Sindahl Nielsen
”Old Days”
![Page 201: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/201.jpg)
State and University Library
22/24
Jesper Sindahl Nielsen
”Old Days”
![Page 202: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/202.jpg)
State and University Library
22/24
Jesper Sindahl Nielsen
”Old Days”
![Page 203: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/203.jpg)
State and University Library
22/24
Jesper Sindahl Nielsen
”Old Days”
![Page 204: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/204.jpg)
State and University Library
22/24
Jesper Sindahl Nielsen
”Old Days”
![Page 205: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/205.jpg)
State and University Library
22/24
Jesper Sindahl Nielsen
”Old Days”
![Page 206: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/206.jpg)
State and University Library
22/24
Jesper Sindahl Nielsen
”Old Days”
LOTS of data
![Page 207: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/207.jpg)
A nuisance in a collection
23/24
Jesper Sindahl Nielsen
![Page 208: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/208.jpg)
A nuisance in a collection
23/24
Jesper Sindahl Nielsen
Danish Radio collection 2 hour chunks
Before one runs out another is started
![Page 209: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/209.jpg)
A nuisance in a collection
23/24
Jesper Sindahl Nielsen
Danish Radio collection 2 hour chunks
Before one runs out another is started⇒ overlap
![Page 210: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/210.jpg)
A nuisance in a collection
23/24
Jesper Sindahl Nielsen
Danish Radio collection 2 hour chunks
Before one runs out another is started⇒ overlap
Annoying for customers
![Page 211: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/211.jpg)
A nuisance in a collection
23/24
Jesper Sindahl Nielsen
Danish Radio collection 2 hour chunks
Before one runs out another is started⇒ overlap
Annoying for customers
Task: find overlap and eliminate it
![Page 212: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/212.jpg)
A nuisance in a collection
23/24
Jesper Sindahl Nielsen
Danish Radio collection 2 hour chunks
Before one runs out another is started⇒ overlap
Annoying for customers
Task: find overlap and eliminate it
![Page 213: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/213.jpg)
A nuisance in a collection
23/24
Jesper Sindahl Nielsen
Danish Radio collection 2 hour chunks
Before one runs out another is started⇒ overlap
Annoying for customers
Task: find overlap and eliminate it
![Page 214: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/214.jpg)
A nuisance in a collection
23/24
Jesper Sindahl Nielsen
Danish Radio collection 2 hour chunks
Before one runs out another is started⇒ overlap
Annoying for customers
Task: find overlap and eliminate it
Use Cross Correlation.
![Page 215: PhD Defense - Aarhus Universitetgerth/advising/slides/jesper-sindahl... · 2015. 10. 2. · PhD Defense Jesper Sindahl Nielsen Implicit Data Structures, Sorting, and Text Indexing](https://reader034.vdocuments.mx/reader034/viewer/2022052018/60319040e1d3c73efb563f40/html5/thumbnails/215.jpg)
24/24
Thank You
Jesper Sindahl Nielsen