Home About Courses Schedule Services Webinars Contact Search

Beginning Java Data Structures and Algorithms


Duration: 2.0 days

Method: Instructor-led. Hands-on Exerices.

Price: $1125.00

Course Code: JA1008


This two-day Beginning Java Data Structures and Algorithms training class explores core algorithms and implementations and provides a base understanding of runtime complexity theory and various methods and concepts.


Upon successful completion of this course, the student will be able to:

  • Learn about space and time complexities express them using big O notation.
  • Explore various classic sorting algorithms, such as merge and quick sort.
  • Understand the workings of basic (Lists, queues and stacks) and complex data structures (hash tables and binary trees).
  • Gain an insight into various algorithm design paradigms (Greedy, Divide and Conquer and Dynamic programming).
  • Discover string matching techniques.
  • Master graph representations and learn about different graph algorithms, such as cycle detection, traversal and shortest path.


Basic understanding of object-oriented programming techniques


  • I. Algorithms and Complexities
    • Developing our first algorithm
    • Measuring algorithmic complexity with Big O notation
    • Identifying algorithms with different complexities
  • II. Sorting Algorithms and Fundamental Data Structures
    • Introducing bubble sort
    • Understanding quick sort
    • Using merge sort
    • Getting started with fundamental data structures
  • III. Hash Tables and Binary Search Trees
    • Introducing hash tables
    • Getting started with binary search trees
  • IV. Algorithm Design Paradigms
    • Introducing greedy algorithms
    • Getting started with divide and conquer algorithms
    • Understanding dynamic programming
  • V. String Matching Algorithms
    • Beginning naive search algorithm
    • Getting started with the Boyer-Moore string searching algorithm
    • Introducing other string matching algorithms
  • VI. Graphs, Prime Numbers, and Complexity Classes
    • Representing graphs
    • Traversing a graph
    • Calculating shortest paths
    • Prime numbers in algorithms
    • Other concepts in graphs