Data Structures and Algorithms in the 21st Century
Jacinta Catherine Richardson
Friday 10:40 a.m.–11:25 a.m.
Target audience: Developer
Data structures and algorithms are essential tools in the developer's toolkit, yet it is an area that is too easy to get behind in. The essential algorithms you learned whenever you did Computer Science probably included:
- Shortest path and tree (and graph) traversals - depth-first, breadth first, cycle management
- Sorting - quick sort, bubble sort, merge sort, binary sort
- Searching - binary trees, B-trees, B+trees, red-black trees
- Specific problems - knapsack problem, painters algorithm, decision trees
- Algorithm tecniques - divide and conquer, backtracking, creating NFAs
You might also have learned the Fast Fourier Transform (FFT) and the Convolution theorem.
For data structures you might have learned: 1. Matrices 2. Linked lists 3. Hashing 4. Singular Value Decomposition (SVD) from Linear Algebra
This talk will overview some of the more interesting parts of the above (such as the FFT, convolution theorem, and SVD) before providing an overview of some of the more interesting algorithms developed in the last 16 years.
Jacinta is a software engineer and Perl hacker, although in her day job, these days, she writes in Python for the Australian Public Service. You may know Jacinta from her many years running Perl Training Australia, organising conferences including the Open Source Developers' Conference, and generally being awesome.