Algorithms and Data Structures in Java

Algorithms and Data Structures in Java

Description

Algorithms and data structures are fundamental notions in computer science . Understanding how they can be exploited in combination for better programming implementations in terms of time complexity is vital for writing efficient code. This course enables the student to:

– Understand, explain, and implement standard data structures, explain and analyze the core properties of these data structures.
– Understand, explain, and implement standard algorithms.
– Apply standard data structures and algorithms to solve programming tasks where each one takes place in a different scenario.
– Analyze and compare implementations with respect to their time complexity.
– Understand, explain, and apply standard programming techniques in the context of standard data structures

Regarding the learning objectives of this course, the student will learn about the following components:

  1. Data Structures
    • Data Containers: e.g. list, tree, set
    • Ordered Data Structures: e.g. stack, queue, priority queue, map
    • Operations on Data Structures: e.g. iterative implementations, recursive implementations
  2. Sorting Algorithms
    • selection sort, insertion sort, merge sort, quick sort
  3. Trees
    • search, insertion, deletion
    • binary tree, binary search tree
    • tree traversals: e.g. pre-order, post-order, in-order, breadth-first traversal
  4. Hashing
    • Hash table: representation of a map
    • Hash function: hash code and compress functions
    • Collision avoidance techniques: Separate Chaining, linear probing
    • Insertions and Removals
  5. Graphs and Graph Algorithms
    • graph data structures: e.g. directed graphs, undirected graphs, weights, representations
    • graph algorithms: e.g. graph traversals, path finding, cycle finding, connectivity, topological ordering, shortest path, minimum spanning tree

Leave a Reply