Date Venue Fee
16 Sep - 20 Sep 2024 Dubai – UAE $ 4,950 Register Now
16 Dec - 20 Dec 2024 Dubai – UAE $ 4,950 Register Now
About the Course

Data Structures and Algorithms are the cornerstones of computer science. A data structure is a structured way of organising, processing, and storing data. There are several types of data structures, all designed to arrange data to suit a specific purpose. Data structures make it easier to access and work with the needed data. Most importantly, data structures frame information organisation so machines and humans can better understand it.

This 5-day Introduction to Data Structures and Algorithms training course gives the fundamental concepts and techniques that form the basis of modern computer programming. The delegates will learn to implement data structures such as stacks, queues, trees, graphs, heaps, hash tables, and lists and how to implement algorithms like sorting, searching, graph exploration, and many more. Likewise, it covers algorithm efficiency and aims to provide an understanding of algorithms' time and space complexity and the importance of considering it while choosing a more efficient solution. The algorithms will be discussed using java as the implementation language; however, the same algorithm can be used when implemented in any other language as well. The delegates will also be demonstrated the use of data structures in solving many algorithms.

Core Objectives

Delegates will achieve the following objectives:

  • Know how to measure algorithm efficiency
  • Understand the importance of data structures
  • Apply various searching and sorting techniques
  • Learn the implementation of multiple data structures like lists, graphs, trees, stacks, queues, etc 
  • Understand the use of data structures in providing solutions to various problems
Training Approach

This training course is driven by a blended learning approach and draws on various adult learning techniques such as action learning, experiential exercises, group discussions, video case studies, role play, and self-reflection activities. The resulting variety helps delegates stay engaged throughout the course, feel challenged and draw quick wins for their development. It also ensures delegates are exposed to ample opportunities to apply what they learn to the real-world challenges they face in the workplace.

The Attendees

This training course will be valuable to professionals, including (but not limited to) the following:

  • Computer Science Engineers
  • Software Developers
  • Professionals who wish to learn how to use data structures to write efficient programming solutions
Daily Discussion

DAY ONE: ANALYSIS OF ALGORITHMS AND ARRAYS

  • Introduction to Data Structures and Algorithms
  • Importance of Data Structures in Programming
  • Time and Space Complexity
  • Big O Notation, Big Omega Notation, and Big Theta Notation
  • Single and Multi-dimensional Arrays
  • Traversing Array Elements
  • Searching Techniques-linear Search and Binary Search
  • Sorting Techniques-selection Sort, Bubble Sort, Insertion Sort, Quick Sort, Merge Sort

DAY TWO: STACKS AND QUEUES

  • Introduction to Stacks
  • Push and Pop in Stack
  • Introduction to Queues
  • Enqueue and Dequeue Operations
  • Circular Queues
  • Priority Queues

DAY THREE: LINKED LISTS

  • Introduction to Linked Lists
  • Creating a Linked list
  • Traversing Linked List
  • Adding an element in a linked list at the front, at the back, and in the middle
  • Removing an element from the linked list from the Start, End, and Middle
  • Doubly Linked Lists

DAY FOUR: GRAPHS & HEAPS

  • Introduction to Non-linear Data Structures Graphs
  • Types of Graphs: Weighted, Directed, and Cyclic
  • Graph Traversal: Breadth First and Depth First
  • Minimum Spanning Tree
  • Shortest Path Algorithms: Dijkstra, Bellman-Ford, and Floyd-Warshall
  • Prim and Kruskal’s Algorithm
  • Introduction to Binary Heaps
  • Construct a Heap
  • Delete Elements from Heap

DAY FIVE: HASH TABLES & TREES

  • Introduction to Hash Tables
  • Collisions in Hash Tables
  • Linear Probing and Quadratic Probing
  • Separate Chaining
  • Rehashing
  • Introduction to Trees: Binary Trees and Binary Search Trees
  • Adding and Removing Elements from Trees
  • Tree Traversals
  • Red Black Trees, AVL Trees, 2-3 Trees