Course: Data Structures |
|
Fundamental dynamic data structures, including linear lists, queues, trees, and other linked structures; arrays strings, and hash tables. Storage management. Elementary principles of software engineering. Abstract data types. Algorithms for sorting and searching. Introduction to the Java programming language. Original Source: U C Berkeley Webcast License: Creative Commons - non-commercial, attribution, no derivatives |
|
Topics
- Lecture 1 - Developing a Simple Program
- Lecture 2 - More on Simple Programs
- Lecture 3 - Values and Containers
- Lecture 4 - Simple Pointer Manipulation
- Lecture 5 - Arrays and Objects
- Lecture 6 - Object-Oriented Mechanisms
- Lecture 7 - Interfaces and Abstract Classes
- Lecture 8 - Abstract Methods and Classes, Continued
- Lecture 9 - Examples of Interfaces
- Lecture 10 - Misc. Support for Abstraction; Exceptions
- Lecture 11 - Misc. Support for Abstraction, Continued
- Lecture 12 - Numbers
- Lecture 13 - Algorithmic Analysis I
- Lecture 14 - Algorithmic Analysis II
- Lecture 15 - Collections Overview
- Lecture 16 - Paradox of Voting
- Lecture 17 - Resource Curse
- Lecture 18 - Getting a View - Sublists
- Lecture 19 - Data Structures Exam Review
- Lecture 20 - Trees
- Lecture 21 - Trees, Searching
- Lecture 22 - Generic Programming
- Lecture 23 - Priority Queues, Range Queries
- Lecture 24 - Hashing
- Lecture 25 - Sorting
- Lecture 26 - Sorting, Continued
- Lecture 27 - Balanced Search Structures
- Lecture 28 - Balanced Search Structures, Continued
- Lecture 29 - Pseudo-Random Sequences
- Lecture 30 - Backtracking Search, Game Trees
- Lecture 31 - Enumeration Types, Threads, and Concurrency
- Lecture 32 - Threads and Concurrency, Continued
- Lecture 33 - Graphs, Introduction
- Lecture 34 - Graphs, Minimal Spanning Trees, Union-find
- Lecture 35 - Graphs, Continued
- Lecture 36 - Dynamic Programming
- Lecture 37 - Storage Management
- Lecture 38 - Storage Management, Continued, Reflection
- Lecture 39 - Data Structures Course Summary