Search this site
Embedded Files
Skip to main content
Skip to navigation
Y. Emre Yildiz
Home
Publications
Cv
Courses
Clubs
DNLP
Y. Emre Yildiz
Syllabus - Data Structures
Week 1 - Introduction
Overview
Objects
Expressions, Operators, and Precedence
Control Flow
Functions
Simple Input and Output
Exception Handling
Iterators and Generators
Additional Conveniences
Scopes and Namespaces
Modules and the Import Statement
Week 2 - Object-Oriented Programming
Goals, Principles, and Patterns
Software Development
Class Definitions
Inheritance
Namespaces and Object-Orientation
Shallow and Deep Copying
Week 3 - Algorithm Analysis
Experimental Studies
The Seven Functions Used in This Book
Asymptotic Analysis
Simple Justification Techniques
Week 4 - Recursion
Analyzing Recursive Algorithms
Recursion Run Amok
Further Examples of Recursion
Designing Recursive Algorithms
Eliminating Tail Recursion
Week 5 - Array-Based Sequences
Sequence Types
Low-Level Arrays
Dynamic Arrays and Amortization
Efficiency of Sequence Types
Using Array-Based Sequences
Multidimensional Data Sets
Week 6 - Stacks, Queues, and Deques
Stacks
Queues
Double-Ended Queues
Week 7 - Linked Lists
Singly Linked Lists
Circularly Linked Lists
Doubly Linked Lists
The Positional List ADT
Sorting a Positional List
Case Study: Maintaining Access Frequencies
Link-Based vs. Array-Based Sequences
Week 8- Trees
General Trees
Binary Trees
Implementing Trees
Tree Traversal Algorithms
Case Study: An Expression Tree
Week 9 - The Priority Queue Abstract Data Type
Implementing a Priority Queue
Heaps
Sorting with a Priority Queue
Adaptable Priority Queues
Week 10 - Maps, Hash Tables, and Skip Lists
Maps and Dictionaries
Hash Tables
Sorted Maps
Skip Lists
Sets, Multisets, and Multimaps
Week 11 - Search Trees
Binary Search Trees
Balanced Search Trees
AVL Trees
Splay Trees
(2,4) Trees
Red-Black Trees
Week 12 - Sorting and Selection
Why Study Sorting Algorithms?
Merge-Sort
Quick-Sort
Studying Sorting through an Algorithmic Lens
Comparing Sorting Algorithms
Built-In Sorting Functions
Selection
Week 13 - Text Processing
Abundance of Digitized Text
Pattern-Matching Algorithms
Dynamic Programming
Text Compression and the Greedy Method
Tries
Week 14 - Graph Algorithms
Graphs
Data Structures for Graphs
Graph Traversals
Transitive Closure
Shortest Paths
Minimum Spanning Trees
Week 15 - Memory Management and B-Trees
Memory Management
Memory Hierarchies and Caching
External Searching and B-Trees
External-Memory Sorting
Google Sites
Report abuse
Google Sites
Report abuse