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

Download outline (PDF)

Lessons

5 Interactive Lessons · 77 topics
01 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
Labs run in your browser — nothing to install.

02 / FAQs

Questions before you start

Contact us ↗

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.

  • 1 year of full access
  • 9 LiveLab included
  • Certificate of completion
Try Free

No credit card required

scroll to top