Menu

Workshops

Projects

Blogs

Careers

Hire from us


For Business / Universities

Corporate Training

Academic Up-skilling


All Courses

Choose a category

Loading...

All Courses / undefined

All Courses / undefined / undefined

logo

Loading...

FOR BUSINESSES

Corporate Upskilling

FOR Universities

Academic Training

More

Data Structures and Algorithms using JAVA in Delhi

A 3 month course which includes content that will help you learn everything you need to know about Data Structures and Algorithms.

12 weeks long course | 100% Online

Learn from leading experts in the industry

Project based learning with 1 industry level projects that learners can showcase on LinkedIn.

Learn Key Tools & Technologies Java

Watch Demo

Book a Free Demo Session

Enter your phone number and book a FREE Demo session on your favourite courses now!
Please enter a valid email
Please enter a valid number

Syllabus

This course is full of best-in-class content by leading faculty and industry experts in the form of videos and projects

Course Overview

  • This course is a step-by-step description of the basic and Advanced topics of Data Structures and Algorithms along with code implementation and problem solving sessions
  • This course will help in developing the necessary problem-solving coding skills, for cracking coding interviews of all software companies
  • 200+ hours of coding for a wide range of problems
  • Learn how scalable programs are built
  • Exposure on what top tech companies expect from programmers

Course Syllabus in Delhi

On a daily basis we talk to companies in the likes of Tata Elxsi and Mahindra to fine tune our curriculum.

Week - 01 Introduction

A data structure is a named location that can be used to store and organise data. An algorithm is a collection of steps to solve a particular problem. Data structures provide a means to manage large amounts of data efficiently.

  • In the first week of this course, you will learn:
    • Stack memory vs heap memory in Java
    • Physical vs logical data structure
    • Abstract data types and data structures
    • Complexity analysis
    • Asymptotic analysis, comparison of functions, recurrence relations
      • Time complexity
      • Space complexity
      • Master theorem
      • Amortized analysis
      • Iteration Vs recursion
    • Recursion - Factorial, Fibonacci, finding nCr, tower of Hanoi problem.

Week - 02 Arrays, Strings, and Lists

Arrays are used to store multiple values in a single variable, instead of declaring separate variables for each value. A string is a sequence of characters like - "hello".

  • In this session, we will learn about:
    • Arrays
      • Static arrays
      • Dynamic arrays
      • 2D arrays, row-major and column-major mapping, matrices
      • Strings
    • LinkedList
      • Singly LinkedList and its operations
      • Doubly LinkedList and its operations
      • Circular LinkedList and its operation 

Week - 03 Stacks and Queues

The stack is a linear data structure that is used to store a collection of objects. It is based on Last-In-First-Out (LIFO).

  • In this session, we will be discussing about:
    • Stacks
      • Implementations- using arrays, using linked lists
      • Operation
      • Applications
    • Queues
      • Implementations- using arrays, using a LinkedList, using two stack
      • Circular queues
      • Priority queues 

Week - 04 Trees

A tree is a non-linear data structure where data objects are organised in terms of hierarchical relationships. In this week's session, we’ll be discussing them one by one.

  • In this week, we will discuss about 
    • Trees.
      • Binary trees, their representations
      • Pre-order, In-order, post-order traversal
      • Binary search trees
      • AVL trees

 

Week - 05 Heaps and Tries

Heap and Trie are special cases of trees. A heap is a special tree-based data structure in which the tree is a complete binary trees.

  • In the session, we will discuss about
    • How to solve the longest word in the dictionary problem using tries.
    • Heaps
      • Min Heap
      • Max Heap
      • Find K largest (or smallest) elements in the array
    • Tries
      • Longest Word in Dictionary Problem

Week - 06 Graphs & Algorithms

A graph is a data structure that consists of a finite set of vertices, also called nodes and a finite set of ordered pairs of the form (u, v) called edges.

  • In this week's session, We will be discussing different types of algorithms, like:
  • Graphs
    • Types of graphs
    • Breadth-first search, depth-first search
    • Topological sort
    • Shortest path problem
  • Algorithms
    • Dijkstra's algorithm
    • Bellman–Ford algorithm
      • Minimum spanning tree problem
      • Prim's algorithm
    • Kruskal's algorithm

Week - 07 Sorting

  • In this week, we will discuss about 
    • Sorting- 
      • Types of sorting techniques
        • Bubble sort
        • Insertion sort
        • Selection sort
        • Quick sort
        • Merge sort
        • Heap sort
        • Count sort
        • Bucket sort
        • Radix sort
        • Shell sort

Week - 08 Searching and Hashing

Searching is probably one of the most common actions performed in a regular business application. This involves fetching data stored in data structures like arrays, lists, and maps. Hashing is the process of converting a given key into another value. A hash function is used to generate the new value according to a mathematical algorithm.

  • During this week we will be discussing the following:
    • Searching
      • Linear search
      • Binary search
    • Hashing
      • Hash function
      • Collision handling
    • Chaining
    • Open addressing
      • Linear probing, primary clustering
      • Quadratic probing, secondary clustering
    • Double hashing

 

Week - 09 Greedy Algorithms

A greedy algorithm is a simple, intuitive algorithm that is used in optimization problems.

  • The topics discussed in this session will be-
    • The strategy of greedy algorithms
    • Elements of greedy algorithms
    • Advantages of greedy algorithms
    • Disadvantages of greedy algorithms
    • Applications of greedy algorithms
    • Knapsack problem
    • Job sequencing with deadlines
    • Huffman coding

Week - 10 Divide and Conquer

The divide and conquer approach is pretty straightforward, the problem at hand is divided into smaller subproblems and then each problem is solved independently. As we keep dividing the subproblems into even smaller problems, we eventually reach a stage where no more division is possible.

 

  • In the session this week, we will discuss:
    • The strategy of divide and conquer techniques
    • Advantages of divide and conquer techniques
    • Disadvantages of divide and conquer techniques
    • The master theorem of divide and conquer techniques
    • Applications of divide and conquer techniques
    • Find the median of two sorted arrays
       

Week - 11 Backtracking

Backtracking is an algorithmic-technique for solving problems recursively by trying to build a solution incrementally.

  • We’ll discuss two methods used to backtrack.
    Backtracking- 
    • Brute force approach
    • N queens problem
  • After backtracking, we will be studying how Java 8 collections framework is implemented. We will be covering the following,
    • Set
    • List
    • Queue
    • PriorityQueue
    • Map
    • HashSet
    • TreeSet
    • ArrayList
    • LinkedList
    • Vector
    • Dictionary
    • Stack

Week - 12 Dynamic Programming

Dynamic Programming is also an algorithmic technique for solving optimization of problems. It is done by breaking the problem down into simpler subproblems, and utilizing the fact that the optimal solution to the overall problem depends upon the optimal solution to its subproblems.

  • During this session, we will be covering the following:
    • Dynamic programming-
      • The strategy of dynamic programming
      • Properties of dynamic programming
      • Approaches of dynamic programming
      • 0/1 knapsack
      • Travelling salesman problem
      • Floyd Warshall
    • In the end, we will conclude and summarize the course by having a brief discussion on
      • Greedy vs Divide & Conquer vs Dynamic
      • Programming examples 

Our courses have been designed by industry experts to help students achieve their dream careers

Industry Projects in Delhi

Our projects are designed by experts in the industry to reflect industry standards. By working through our projects, Learners will gain a practical understanding of what they will take on at a larger-scale in the industry. In total, there are 1 Projects that are available in this program.

Optimize and Solve problems with given restrictions

As a part of this coursework, the students will be solving a set of 20 problems in an optimized way with the given restrictions of time and space complexity.

Our courses have been designed by industry experts to help students achieve their dream careers

Ratings & Reviews by Learners

Skill-Lync has received honest feedback from our learners around the globe.

Google Rating
4.6

Instructors profiles

Our courses are designed by leading academicians and experienced industry professionals.

image

1 industry expert

Our instructors are industry experts along with a passion to teach.

image

10 years in the experience range

Instructors with 10 years extensive industry experience.

image

Areas of expertise

  • Full Stack development

Similar Courses

Got more questions?

Talk to our Team Directly

Please fill in your number & an expert from our team will call you shortly.

Please enter a valid email
Please enter a valid number
Try our top engineering courses, projects & workshops today!Book a FREE Demo