Approved Training Partner

RELATED RECENT PLACEMENTS

Omkar Dinkar

Akkodis

Top Engineering College in Nashik - MET Institute of Engineering, Bhujbal Knowledge City

Pushkar Sonwane

Akkodis

Deogiri Institute Of Technology & Manegement

Pravin Magar

Technorithmengg

Dr. D. Y. Patil Institute of Technology

Shruti Jadhav

Speed Engineering Solutions

Sandip University

Shubham Nashirkar

UPR Engineering Pvt Ltd

Shri Datta Meghe Polytechnic

Ritik Rathi

Cyient

Prof.Ram Meghe Institute of Technology & Research

Meghraj Patil

Tech Mahindra

Sinhgad College of Engineering, Pune

Akshay Pawar

Equilibrium Solutions

MET's Institute Of Engineering, Nashik, Maharashtra, India

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

- 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

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

- Arrays

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

- Stacks

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

- 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

- Types of sorting techniques

- Sorting-

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

- Linear search
- Hashing

- Hash function
- Collision handling

- Hash function
- Chaining
- Open addressing

- Linear probing, primary clustering
- Quadratic probing, secondary clustering

- Linear probing, primary clustering
- Double hashing

- Searching

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

- Dynamic programming-

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

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

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

4.8

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

1 industry expert

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

10 years in the experience range

Instructors with 10 years extensive industry experience.

Areas of expertise

- Full Stack development

Pune

Hyderabad

Delhi

Mumbai

Bangalore

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