Professional Course

Data Structures & Algorithms II: Binary Trees, Heaps, SkipLists and HashMaps

edX, Online
Length
5 weeks
Price
149 USD
Next course start
Start anytime See details
Delivery
Self-paced Online
Length
5 weeks
Price
149 USD
Next course start
Start anytime See details
Delivery
Self-paced Online
Visit this course's homepage on the provider's site to learn more or book!

Course description

Data Structures & Algorithms II: Binary Trees, Heaps, SkipLists and HashMaps

This Data Structures & Algorithms course extends beyond linear data structures in CS1332xI to the nonlinear and hierarchical data structures here in CS1332xII. A short Java review is presented on topics relevant to new data structures covered in this course. The course does require prior knowledge of Java, object-oriented programming and linear data structures. Time complexity is threaded throughout the course within all the nonlinear data structures and algorithms.

You will explore the hierarchical data structure of trees. Trees have important properties such as shape and order which are used to categorize trees into different groups and define their functionality. The course begins by explaining Binary Trees and two subgroups: Binary Search Trees (BSTs) and Binary Heaps. You will program BSTs, their operations and traversal algorithms. BSTs are an important structure when wanting to access information quickly. Heaps approach access differently and prioritize what data is accessed. Heaps also employ the concept of up-heap and down-heap operations not found in other structures.

HashMaps and SkipLists are the last data structures discussed in the course. The HashMap ADT is a collection of key-value pairs. The key-value pairs are stored in an unordered manner based on hash codes and compression functions that translate keys into integers. You will investigate different collision strategies and implement one. SkipLists are a probabilistic data structures where data is placed in the structure based on a randomization procedure.

Upcoming start dates

1 start date available

Start anytime

  • Self-paced Online
  • Online
  • English

Who should attend?

Prerequisites

Basic knowledge of the Java programming language, object-oriented principles, and the introductory data structures: arrays, linkedlists, stacks, queues, and deques.

Training content

Module 0: Introduction and Review

  • Review of important Java principles involved in object-oriented design
  • The Iterator & Iterable design patterns, and the Comparable & Comparator interfaces
  • Basic “Big-Oh” notation and asymptotic analysis

Module 4: Binary Search Tree (BST) Introduction

  • Learn about the non-linear, linked data structure, Trees, and the important submodels: Binary Trees and Binary Search Trees (BST)
  • Acquire a working knowledge of the tree structure, including principles, properties and numerical concepts
  • Examine traversal algorithms for BSTs, the resulting order and the information obtained by each

Module 5: BST Operations & SkipLists

  • Extend understanding of tree structures and their impact on search operations
  • Study and implement efficient procedures for the search, add and remove operations in BSTs
  • Apply the concept of pointer reinforcement restructuring recursion technique to the add and remove operations
  • Investigate the probabilistic data structure, SkipLists, and the implications of randomization on data structures

Module 6: Binary Heaps

  • Explore the Binary Heap tree data structure and its additional property constraints that differentiate it from BSTs
  • Delve into the add and remove operations that require the up-heap and down-heap procedures
  • Explore the efficient bottom-up build heap algorithm

Module 7: HashMaps

  • Study HashMaps designed for efficient storage and retrieval based on the concept of unique keys paired with values
  • Learn about hash functions, hash codes and compression functions while implementing a basic HashMap
  • Investigate data collisions and the strategies to resolve data collisions from external chaining to linear and quadratic probing to double hashing

Course delivery details

This course is offered through The Georgia Institute of Technology, a partner institute of EdX.

9-10 hours per week

Costs

  • Verified Track -$149
  • Audit Track - Free

Certification / Credits

What you'll learn

  • Develop mature Java programming skills by using recursion in Tree ADTs
  • Investigate different nonlinear, linked data structures: Trees, Heaps, SkipLists and HashMaps
  • Study the significant uses and applications of hierarchical tree structures
  • Explore tree properties, and categorizing based on shape and order
  • Design and implement the binary trees: BSTs and Heaps
  • Examine edge cases and efficiencies in BST and Heap operations
  • Understand the up-heap, down-heap and build-heap procedures
  • Consider the probabilistic data structure, SkipLists, and randomization
  • Implement a HashMap ADT with its key-value pairs
  • Analyze the different collision strategies with HashMaps
  • Compute amortized analysis for Heaps and HashMaps

Contact this provider

Contact course provider

Fill out your details to find out more about Data Structures & Algorithms II: Binary Trees, Heaps, SkipLists and HashMaps.

  Contact the provider

  Get more information

  Register your interest

Country *

reCAPTCHA logo This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
edX
141 Portland Street
02139 Cambridge Massachusetts

edX

edX For Business helps leading companies upskill their labor forces by making the world’s greatest educational resources available to learners across a wide variety of in-demand fields. edX For Business delivers high-quality corporate eLearning to train and engage your employees...

Read more and show all training delivered by this supplier

Ads