Courses Georgia Tech Professional Education

Data Structures & Algorithms II: Binary Trees, Heaps, Skiplists, and Hashmaps

Extend your knowledge of data structures and algorithms beyond linear structures into nonlinear and hierarchical ones. Learn and implement binary trees, BSTs, heaps, hash maps, and skiplists in Java, including operations, traversals, collision strategies, and amortized analysis, supported by visualization tools and exploratory labs.

Intermediate Level 🌐 EN

What you'll learn

  • Understand and implement binary trees, binary search trees, and binary heaps in Java
  • Learn traversal algorithms, tree operations, and collision strategies for hash maps
  • Explore probabilistic data structures such as skiplists
  • Use visualization tools and exploratory labs to study structure behavior and performance

Skills you'll gain

  • Mature Java programming skills by using recursion in tree ADTs
  • Understand nonlinear, linked data structures: trees, heaps, skiplists, and hashmaps
  • Recognize significant uses and applications of hierarchical tree structures
  • Identify tree properties and categorize trees based on shape and order
  • Design and implement binary trees, including BSTs and heaps
  • Compute amortized analysis for BSTs, heaps, hashmaps, and skiplists
  • Examine edge cases and efficiency in BST and heap operations
  • Understand up-heap, down-heap, and build-heap procedures
  • Consider probabilistic data structures such as skiplists and randomization
  • Implement the HashMap ADT with key-value pairs
  • Analyze different collision strategies in hashmaps

Prerequisites

  • Basic knowledge of the Java programming language
  • Understanding of object-oriented principles
  • Familiarity with introductory data structures: arrays, linked lists, stacks, queues, and deques
  • Internet connection (DSL, LAN, or cable connection desirable)

Who this course is for

  • Anyone who wants to learn about nonlinear and hierarchical data structures
  • Learners who want to study binary trees, BSTs, and heaps
  • Those who want to understand tree operations and algorithms
  • Developers who want to implement hashmaps that store data using key-value pairs
  • Learners interested in probabilistic data structures like skiplists
  • Students who want tools to visualize data structures and performance
Free
Go to Course

You'll be redirected to Georgia Tech Professional Education

Provider

Georgia Tech Professional Education

Related Courses

Python Bootcamp

Python Bootcamp covers fundamentals of Python programming, including control structures, advanced data types, functions, modules, packages, multithreading, exception handling, file handling, GUI design, and database connectivity, preparing learners for future work in data science and machine learning.

SYBGEN Inc.

Systems Engineering

This course introduces Systems Engineering principles across the lifecycle of complex systems, covering system design, architecture, requirements analysis, modeling, verification, lifecycle models (Waterfall, V-Model, Spiral, Agile), SysML, risk management, trade-off analysis, and a Smart Home Security System project.

Udacity

IT Systems Design and Analysis

Prepare to design, analyze, and evaluate IT systems using data flow diagrams, ERDs, UML, and feasibility analysis. Learn to assess existing systems, identify inefficiencies, compare solution alternatives, and deliver a digital transformation strategy through a hands-on final project.

Coursera ⭐ 4.70

Hands On FullStack Development Course with Infrastructure Management Product implementation

A 180-day, project-first full-stack infrastructure course where you build and operate production-grade services with CI/CD, testing, observability, and operational playbooks, aimed at taking you from toy projects to real-world deployment experience.

System Design Roadmap ⭐ 4.80

Learn Typescript

Hands-on introduction to TypeScript fundamentals and their application in real projects. Learn core typing concepts, advanced TypeScript features, and how to use TypeScript with React and Express while building safer, more maintainable JavaScript applications.

Coursera ⭐ 4.50

AI Engineering Course

Designed to help software engineers transition to AI engineering, with detailed breakdowns of vector databases, indexing, large language models, attention, and core optimizations so you can understand how LLMs work and use them to build real-world applications.

InterviewReady ⭐ 4.73