CTU-CD230.AE1 ISBN: 978-1-64459-832-0

Introduction to Data Structures for Programming

Intermediate Self-paced · 1 year access

38 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

6 Interactive Lessons · 107 topics
01 Week 1: Introduction to Data Structures and Algorithms 18 topics · 4 LiveLab
  • Data Structure and its Types
  • Introduction to Algorithms
  • Characteristics of Algorithms
  • Algorithm Design Paradigms
  • Relation between Data structures and Algorithms
  • Importance and Applications
  • Introduction to Algorithm Complexity
  • Array Performance
  • Creating an Array
  • Moving Zeros
  • Combining Two Lists
  • Finding the Duplicates in a List
  • Finding the Intersection of Two Lists
  • Linked List Performance
  • Create a Linked List
  • Search a Linked List
  • Removing a Node from a Linked List
  • Finding a Linked List Cycle

4 LiveLab in this lesson — see the labs panel →

02 Week 2: Basic Data Structures 20 topics · 8 LiveLab
  • When to Use Stacks
  • Creating a Stack
  • Using Stacks to Reverse Strings
  • Min Stack
  • Stacked Parentheses
  • When to Use Queues
  • Creating a Queue
  • Python's Built-In Queue Class
  • Create a Queue Using Two Stacks
  • When to Use Hash Tables
  • Characters in a String
  • Two Sum
  • When to Use Trees
  • Creating a Binary Tree
  • Breadth-First Tree Traversal
  • More Tree Traversals
  • Invert a Binary Tree
  • When to Use Graphs
  • Creating a Graph
  • Dijkstra's Algorithm

8 LiveLab in this lesson — see the labs panel →

03 Week 3: Algorithm Analysis 19 topics · 6 LiveLab
  • When to Use Recursion
  • Analyzing Algorithms
  • Constant Time
  • Logarithmic Time
  • Linear Time
  • Log-Linear Time
  • Quadratic Time
  • Cubic Time
  • Exponential Time
  • Best-Case vs. Worst-Case Complexity
  • Space Complexity
  • Why Is This Important?
  • Amortized Analysis
  • Linear Search
  • When to Use a Linear Search
  • Binary Search
  • When to Use a Binary Search
  • Bubble Sort
  • When to Use Bubble Sort

6 LiveLab in this lesson — see the labs panel →

04 Week 4: Sorting Algorithms, Queues, Deques, and Priority Queues 14 topics · 10 LiveLab
  • Insertion Sort
  • When to Use Insertion Sort
  • Merge Sort
  • When to Use Merge Sort
  • Selection Sort
  • Shell Sort
  • Quick Sort
  • Heap Sort
  • Linear Sorting
  • The ADT Queue
  • The ADT Deque
  • The ADT Priority Queue
  • Tree Concepts
  • Traversals of a Tree

10 LiveLab in this lesson — see the labs panel →

05 Week 5: Java and MySQL 19 topics · 6 LiveLab
  • Java Interfaces for Trees
  • Examples of Binary Trees
  • The Nodes in a Binary Tree
  • An Implementation of the ADT Binary Tree
  • An Implementation of an Expression Tree
  • General Trees
  • Using a Binary Tree to Represent a General Tree
  • Reprise: The ADT Heap
  • Using an Array to Represent a Heap
  • Adding an Entry
  • Removing the Root
  • Creating a Heap
  • Heap Sort
  • AVL Trees
  • Red-Black Trees
  • Some Examples and Terminology
  • Paths
  • Splay Trees
  • Tries: A Structured Approach to Efficient Information Retrieval

6 LiveLab in this lesson — see the labs panel →

Hands-On Labs Our edge

38 LiveLabs
  • Locating All the Zeros to the End of a List
  • Combining Two Lists
  • Creating a Linked List
  • Finding a Linked List Cycle
  • Tracking Stack's Biggest Number
  • Using Stacked Parentheses
Labs run in your browser — nothing to install.

02 / FAQs

Questions before you start

Contact us ↗

Prepare for Introduction to Data Structures for Programming

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
  • 38 LiveLab included
  • Certificate of completion
Try Free

No credit card required

scroll to top