UOP-DBM4210.AE1
Data Structures and Algorithms
Intermediate Self-paced · 1 year access
9 Hands-On LiveLabs
Practice real IT tasks in guided environments.
- Real environments
- Auto-graded
- No installation
01 / Lessons & labs
See exactly what you will learn and practice
Lessons
5 Interactive Lessons · 77 topics01 Object Oriented Programming and Recursion 13 topics · 2 LiveLab +
- Goals, Principles, and Patterns
- Software Development
- Class Definitions
- Inheritance
- Namespaces and Object-Orientation
- Shallow and Deep Copying
- Illustrative Examples
- Analyzing Recursive Algorithms
- Recursion Run Amok
- Further Examples of Recursion
- Designing Recursive Algorithms
- Eliminating Tail Recursion
- Exercises
2 LiveLab in this lesson — see the labs panel →
02 Array-Based Sequences, Stacks, Queues, and Deques, and Linked List 17 topics · 3 LiveLab +
- Python's Sequence Types
- Low-Level Arrays
- Dynamic Arrays and Amortization
- Efficiency of Python's Sequence Types
- Using Array-Based Sequences
- Multidimensional Data Sets
- Stacks
- Queues
- Double-Ended Queues
- 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
- Exercises
3 LiveLab in this lesson — see the labs panel →
03 Trees, Priority Queues, Maps, Hash Tables, and Skip Lists 16 topics · 2 LiveLab +
- General Trees
- Binary Trees
- Implementing Trees
- Tree Traversal Algorithms
- Case Study: An Expression Tree
- The Priority Queue Abstract Data Type
- Implementing a Priority Queue
- Heaps
- Sorting with a Priority Queue
- Adaptable Priority Queues
- Maps and Dictionaries
- Hash Tables
- Sorted Maps
- Skip Lists
- Sets, Multisets, and Multimaps
- Exercises
2 LiveLab in this lesson — see the labs panel →
04 Search trees, Sorting, Selection, and Text Processing 19 topics · 2 LiveLab +
- Binary Search Trees
- Balanced Search Trees
- AVL Trees
- Splay Trees
- (2,4) Trees
- Red-Black Trees
- Why Study Sorting Algorithms?
- Merge-Sort
- Quick-Sort
- Studying Sorting through an Algorithmic Lens
- Comparing Sorting Algorithms
- Python's Built-In Sorting Functions
- Selection
- Abundance of Digitized Text
- Pattern-Matching Algorithms
- Dynamic Programming
- Text Compression and the Greedy Method
- Tries
- Exercises
2 LiveLab in this lesson — see the labs panel →
05 Graph Algorithms, Memory Management and B-Trees 12 topics +
- Graphs
- Data Structures for Graphs
- Graph Traversals
- Transitive Closure
- Directed Acyclic Graphs
- Shortest Paths
- Minimum Spanning Trees
- Memory Management
- Memory Hierarchies and Caching
- External Searching and B-Trees
- External-Memory Sorting
- Exercises
Hands-On Labs Our edge
9 LiveLabs- Understanding the init Method
- Calculating the Product of Two Positive Integers
- Implementing a Dynamic Array
- Implementing a Stack
- Implementing a Queue
- Adding Elements to a Set
- Performing Set Operations
- Using a Sorting Function
- Performing Pattern Matching
Labs run in your browser — nothing to install.
02 / FAQs
Questions before you start
Prepare for Data Structures and Algorithms
One-time payment. Full access for 1 year. Start with a free trial if you want to look around first.