Data Structures And Algorithms The Complete Guide

Tags:

Become ace in data structures & algorithms & Crack the code interview by getting mastery in data structures & algorithms

Last updated 2022-01-10 | 4.7

- Understand the coding principles and Understand How to write code in efficient way by help of choosing right data structures and efficient algorithms
- How to choose right data structures and right algorithms for your need
- Understand concept behind data structures like Arrays
- Linked Lists
- Hash tables
- Trees
- Graph
- Stacks
- Queues
- and Sort algorithms and Search algorithms

What you'll learn

Understand the coding principles and Understand How to write code in efficient way by help of choosing right data structures and efficient algorithms
How to choose right data structures and right algorithms for your need
Understand concept behind data structures like Arrays
Linked Lists
Hash tables
Trees
Graph
Stacks
Queues
and Sort algorithms and Search algorithms
Understand the fundamentals of the Data structures and Algorithms
Understand popular algorithms
and how to use it when you need.
Learn everything you need to crack difficult coding interviews.
Reason about applicability and usability of Data Structures

* Requirements

* A strong work ethic
* enthusiasm to learn
* and plenty of excitement about the awesome new skill you are going to build.
* No experience with data structures or computer science needed!

Description

Congratulations!  You've found the most popularmost complete, and most up-to-date resource online for learning Data structures and Algorithms.

Do you want to crack your next coding interview? Do you want to be a master in solving challenging Algorithms?

Are you interested in the field of Data structures? Are you interested to play around with complex Algorithms?  Then this course is for you!

You need to understand algorithms and data structures because I've seen code written by people who didn't understand Data structures and algorithms; and trust me, you don't want to be that guy.

The entire course is based around a single goal: Turning you into a professional programmer & capable of writing code as a professional.

Are you scared about the coding interview? Join me in this Adventure, Crack your coding interview by getting mastery in data structures & algorithms.

There are lots of free tutorials and videos on YouTube. Why would you want to take this course? The answer is simple: Quality of teaching. So, from the very beginning to the very end, you'll be confident that you'll be in good hands and watching every minute of the course, unlike reading many free tutorials and videos, do not waste your precious time. Each section is equipped with a balanced mix of theory and Implementation.

It's my goal to make clear Data structures and Algorithms as much as possible and ensure your success. I want everyone to benefit from my courses, that's why we'll dive deeply into Data structures and Algorithms concepts and why I made sure to also share the knowledge that's helpful to programmers

I can promise you that, this is the most comprehensive and modern course you can find on data structures & algorithms on udemy or anywhere else- it's based on all my knowledge And teaching experience. It's both a complete guide, starting with the core basics of the language, as well as an extensive reference of the data structures & algorithms, ensuring that both newcomers, as well as experienced developers, get a lot out of this course! It's my goal to make you clear about the concepts of data structures & algorithms as much as possible. To accomplish this, throughout the course, extensive use of slides and graphics is being utilized in order to aid the understanding and memorability of complex concepts. Moreover, the course is packed with practical exercises that are based on real-life examples. So not only will you learn the theory, but you will also get some hands-on practice building your own project. This course is designed to be fast at getting you started but also get you deep into the "why" of things. Simply the fastest and best way to learn the latest skills. Look at the scope of topics in the Session and see the breadth of skills you will learn.


Why it’s the only course you need to learn Data Structures and Algorithms?

This course is everything you need from start to end regardless of your experience.

It's an interactive course. Instead of explaining the concepts with Powerpoint slides, I will take you to the classroom again.

These course videos are designed very carefully to make you more engaging and you won’t get bored while watching the course videos. Unlike other learning videos which you can find on other courses or on YouTube, this course is carefully designed with full of animated content that will make learners grasp the concepts quickly and easily. In this way, you can understand even hard topics/concepts easily.

While you take this course, you will feel the simplicity of learning the language, This is because time spent for preparation for the videos (script for the videos and video structure) and video editing (to cut boring pieces of the lesson or time when the program loads) is huge. And also the structure of the course is created based on beginners in mind. And also this course will be a good reference for those who are already having good knowledge of data structures and algorithms.

Don’t take my word for it. Check the reviews and see what other students are saying

★★★★★

No Words!! The explanation is very simple and clear, And its perfect combination of theory plus practical on Data structure, And I'm simply amazed by the instructor as they make such a hard topic like Data structure very easy to learn.

And it's crisp and straight to the point and examples are really great and the way in which the presenter describes the topic is also very helpful.

Thanks a lot! - Giada

★★★★★

The Concepts are presented in a simpler & detailed way in a short span of time. This is the best course for learning data structures from scratch. Tree part has the best explanation. Sir, you helped me face my fears regarding data structures & coding & have boosted up my confidence. Sir, please post courses on competitive coding Vinoth Sir cause you are the best. - Divyakanti Batabyal

★★★★★

It's a good experience so far, I'm loving the content! I'll give a full review once I'm done. So far I feel it's a very valuable course. Update: After finishing the course I am very happy with it. This is a wonderful course and Vinoth, you have really done an awesome job. Before this course I really don't have much knowledge of Data Structures, this course is designed, which made me really confident about my learning. Thanks a lot, Vinoth. Keep up the great work! - Gayathri

★★★★★

It is evident that Vinoth has put a lot of thought into planning this course. It is well organized and the topics lead nicely into one another. Moreover, Vinoth's teaching experience helps the complex topics to grasp easily. I am really enjoying the course and think Vinoth's teaching style is stellar - Ravi

★★★★★

In a very simple and clear manner, the trainer is explaining things and giving us chance to think and develop our own logic for implementing data structures. It really makes complex things simple !!! I found the videos and code samples very clear and precise. A very good foundation course on data structure -Abhishek Agarwal

★★★★★

the way of teaching is very good, sir is teaching with real-time examples which helps us to easily understand the topic. Sir made this course very easy for me to understand, such a great teacher - Aditya Bohra

★★★★★

This course is a good match for me, Till start, to end its well-executed, Content and syllabus is good, for me as a beginner is very useful, i learnt lots of thing from this course, Thank you very much for such a wonderful course. thanks - Magnus

★★★★★

Explained clearly, This course covers all the basics and beyond. I learnt what I want to learn plus much more. Vinoth explains clearly, I enjoyed the way he taught, very precisely and briefly. Honestly, the course is good for beginners - Noel

★★★★★

I found this course is much valuable for me, especially Tree and Graph sections are awesome, Neat presentation, easily understandable course, overall its must have taken the course who what to understand data structures and algorithms from the base. Thanks - Abinav

★★★★★

Incredibly comprehensive course! I found this course really well laid out and easy to get to grips with, concepts were introduced in a very logical manner which made it easy to follow. Overall this course matched my expectations and expanding my current knowledge of data structures. Thanks - Trinity

★★★★★

Super Good! The teaching style, content and quality of the course all are excellent. Over this is the perfect material for data structures and algorithms. I will highly recommend this course to my friends. Thanks a lot for such a wonderful course. - Celia


Why you should learn Data Structures and Algorithms:

  • Industry Demand for Data Structures and Algorithms: Top tier tech brands such as Google, Facebook, Microsoft, Youtube, etc. focus more on designing things in the most optimal manner that improves user experience and enhances tracking and managing. These companies ask most of the questions related to Data Structures and Algorithms in interviews to assess a candidate's approach for solving any real-world problem.

  • Solve the problem more efficiently: The search engine may provide source code for solving the issue or steps for you to fix the issue. But, the real programmer understands the Application Programming Interface internals including data structure and make the decision.

  • Improving problem-solving and analytical skills: Data Structures and Algorithms are not only crucial to land your dream job, but it also helps in improving problem-solving and analytical skills that can prompt you to think out-of-the-box solutions.

  • Use the Right tool to solve the problem: The data structure and algorithm provide a set of techniques to the programmer for handling the data efficiently. The programmer should understand the core concepts of data handling the data. Data structure and algorithms help you to decide the right tool for your job

  • Furthermore, it will also enable your future endeavours as it is something that will never go out of demand considering the rapid evolution of technologies and an increasing amount of data.


Here’s just some of what you’ll learn

(It’s okay if you don’t understand all this yet, you will in the course)

This course is fun and exciting, but at the same time, we dive deep into Data Structures and Algorithms. Specifically, you will learn :

· Understanding the core principles of coding.

· Understanding code complexity and how to write code efficiently and various levels of complexity.

· Basics of Data Structures and algorithms

· Basic data structures (Arrays, linked list, and Hash Table)

· Tree data structures

· Graph data structures

· Algorithms to apply Graph in product implementation

· Searching algorithms

· Various Sorting algorithms


Frequently Asked Questions:

Will I be able to learn Data Structures and Algorithms and find a job after completing this course?

YES, This course covers all the topics in a very detailed way which you need to know to become a professional Data Structures and Algorithms. However, you will be able to learn Data Structures and Algorithms and be job-ready heavily depends on you once you completed this course.

If you merely watch the videos, you will hardly learn anything without trying things on your computer. Instead, try the code on your computer, change the code, run it, improve it further, rerun it, fix the possible errors, try making a similar app, repeat, ask questions in the Q&A when you get stuck, and try to solve all the exercises in the course. That way, you will undoubtedly learn how to use Data Structures and Algorithms and find a job.

How much time will I need to complete the course?

That depends on how much effort you can put into learning the language. If you dedicatedly follow the course, you can complete the course in 1 week. And If you practice the programs in day to day life, You will be getting familiar with the Data Structures and Algorithms in a very short period.

I don't know anything about programming. Will I still be able to learn Data Structures and Algorithms?

Absolutely YES. This course assumes you have no previous knowledge of any programming.

Do I need to have any prior knowledge to take this course?

A big NO. You don’t need any prior knowledge to take this course. I have designed this course which makes it comfortable even for beginners. It starts from the absolute beginner level initially and gradually moving to complex and advanced level topics. And also this course is filled up full of practical and fun examples. You will learn the core skills step by step with hands-on experience. And If you are already comfortable with coding and need to refresher your skill, this course will be suitable for you, too. Every time you come back to this course you will learn something new or improve yourself.

Does the course expire?

No. Once you buy the course, it's yours. I update the content regularly, and all the updates come to you for free in the one-time purchase you make.

Will I get support if I get stuck?

Yes. Feel free to drop a question in the Q&A, and I will answer your questions within the same day. I covered almost everything that you need to become expert in Data Structures and Algorithms. if you feel, this course wasn’t complete enough, I offer full support, answering any questions you have 7 days a week.


What if I have questions?

As if this course wasn’t complete enough, I offer full support, answering any questions you have 7 days a week.


What’s stopping you from signing up today?

You don’t have enough time? Not an issue. I’ve designed this course so you can learn everything you need in as little as ONE week.

You’re still weighing up the value? Listen. I’ve made this course bigger, better and more affordable—with even more content and more coding tips and best practices —than EVER before. And In this course, I show you how to create all of the code from scratch. You can type the code along with me in the videos, which is the best way to learn. And I am a very responsive instructor and I am available to answer your questions and help you work through any problems.

You don’t have any previous experience? Seriously, not a problem. This course is expertly designed to teach everyone from complete beginners, right through to pro developers. (And yes, even pro developers take this course to quickly absorb the latest skills, while refreshing existing ones).

Straight up: There's no other course that teaches you that, so join thousands of other students who have successfully applied their data structures and algorithms in the real world. Sign up and start learning the expert in data structures and algorithms today!

Sounds great, doesn’t it? Are you ready for a life-changing adventure? If you are serious about your career as a software developer, this is the only Bootcamp you will need. Then don't waste your time with random tutorials or incomplete youtube videos. This course is an easy-to-follow, all-in-one packages that will take your skills to the next level.

Buy this course today, and you will get all updates for FREE!

Enroll now and begin your journey towards the most lucrative, adventurous and exciting career path you can imagine! Or, take this course for a free spin using the preview feature, so you know you’re 100% certain this course is for you.


100% MONEY-BACK GUARANTEE

This course comes with a 30-day full money-back guarantee. Take the course, go through the lectures, do the exercises, and if you're not happy, ask for a refund within 30 days. All your money back every last penny questions asked.

You either end up with an expert in Data Structures and algorithms skills, go on to develop great programs and potentially make an awesome career for yourself, or you try the course and simply get all your money back if you don’t like it… (And why not give such a guarantee? I certain this course will provide a ton of value for you)

You literally can’t lose.

See you on the inside (hurry, Data structures, and algorithm class is waiting!)

Who this course is for:

  • Anyone who want to take their programming skills to the next level and learn a future-proof programming
  • Anyone who want to become intelligent programmer
  • Anyone who is Feeling scared about coding interview
  • Anyone who wants to strengthen their problem-solving skills

Course content

15 sections • 92 lectures

Course Introduction Preview 06:04

Data Structures and Algorithms : This Video is briefing about what makes this course so special.

Why its the only course you’ll ever need to learn data structures and algorithms. And I feel really strong about that, This course is everything you need from start to end regardless of your experience. There something for everyone. I will take you from very beginning up to complex and advance topics in data structures and algorithms. 

Why Should Learn Data Structures? Preview 01:45

Data Structures and Algorithms : You need to understand Data Structures and Algorithms because I've seen code written by people who didn't understand Data structures and algorithms; and trust me, you don't want to be that guy.

Introduction to Data Structures Preview 03:52

Data Structures and Algorithms : A data structure is way of organizing data in a computer so that it can be used efficiently.  In dictionary, words must be organized alphabetically then only we can able to find the word in a short time. Otherwise it’s not possible. Such a way in library, we should group the books based on the book type like technology, fiction or non-fiction like that then only we can able to find the book easily whatever we want.

Introduction to Algorithms Preview 03:49

Data Structures and Algorithms : Algorithm means, well defined procedure to implement something. There may be lots of way to implement the specific problem, but algorithms is efficient way to do that. 

Visualizing Algorithms Preview 07:26

Data structures and Algorithms : When we talk about best algorithms, best practice, or performance of the program is everything based on execution time for the program. An ultimate aim for every programmer is reduce the execution time of the program. Am I right? So when we will say that, this is the best algorithms for this process. So answer I simple. The algorithm which is gives the result in a short time in all the cases. That is a suitable algorithm for that process

Why are Algorithms so Important Preview 02:06

Data Structures and Algorithms : There will often be trade-offs that we will need to identify and decide upon. As computer scientists, in addition to our ability to solve problems, we will also need to know and understand solution evaluation techniques. In the end, there are often many ways to solve a problem. Finding a solution and then deciding whether it is a good one are tasks that we will do over and over again 

Understanding the Complexity of Algorithms Preview 03:30

Data Structures and Algorithms : In real time we might have lots of option while choosing an algorithm. Which mean for the single problem we will have lots of algorithms to solve the problem. Analysis the algorithm is help you to choose the right one. We will analysis the algorithm based on complexity of the program. So it’s very important to know how to calculate the complexity of the program.

Analysis of Algorithms Preview 02:26

Data Structures and Algorithms : Asymptotic Analysis is the great idea that handles these kind issues while analyzing algorithms. In Asymptotic Analysis, we evaluate the performance of an algorithm in terms of input size (which means we don’t measure the actual running time). We calculate, how does the time (or space) taken by an algorithm increases with the input size   

Big O - Your Real Concern Preview 03:27

Data Structures and Algorithms : Whatever the number I am searching for and its is present in the last element of this array. Then it will be a worst case for this case.

 If an element is there in 1 st position of this list of values it will be the best case scenario. If its present in the middle, than it will be average case.

Logarithms Preview 02:15

Data Structures and Algorithms : In this Video, you’ll be presented with the common rules of logarithms, also known as the “log rules”. 

Complexity Levels Preview 05:06

Data Structures and Algorithms : In this video we are going to discuss about different levels of complexity in terms of Big O

When we talk about the code complexity, we will have different levels of complexity for the algorithms.

Introduction wrap-up Preview 01:09

Data Structures and Algorithms : This video is quick wrap-up which you learnt in this unit.

Complexity of Algorithms

So far, you have learnt every single details about basics of data structures and algorithms. Now It's time to evaluate your skill. Lets get start!

Introduction Preview 01:26

Data Structures and Algorithms : This course is purely designed to focus on data structures and algorithms. I am strongly believing that, data structures and algorithm are not a technology. using correct data structures and writing efficient algorithm is a skill, So I am going to focus on to teach you how the apply this skill in Real time application which means how to apply this knowledge while choosing data structure in real application.

As an instructor, I should make you comfortable to understand the concept which is we are going to discuss in this course. So I need some programming language to explain the concepts     

Welcome to Basic Data Structures Preview 00:15

1D Array (Root for all data structures) Preview 07:01

Data Structures and Algorithms : Whenever we want to work with large number of data values, we need to use much number of different variables. As the number of variables are increasing, complexity of the program also increases and programmers get confused with the variable names. There may be situations in which we need to work with large number of similar data values. To make this work more easy, programming languages provides a concept called "Array" Data Structures. That’s what we are going to discuss in this lecturer in Data Structures and Algorithms course.

1D Array Implementation Preview 12:19

Data Structures and Algorithms : Its Implementation approach for 1D Array Implementation

Why Array Index Start from 0 ? Preview 03:17

Data Structures and Algorithms : All popular languages, like C/C++, Java or Perl start indexing an array from 0 while the last index is the array length minus 1. While this is usual to most developers, it is not a same fact for all programming languages. For example in Fortran, when you declare an array with 'integer a(10)', an int array having 10 elements, the index starts from 1 and ends at 10 (however you can override this behavior using a statement like, integer a(0:9), by declaring an array with indices from 0 to 9).   

2D Array Preview 04:10

Data Structures and Algorithms : In this video we are going to discuss about 2 DIMENSIONAL ARRAY

When we talk about 2D array, all the features from the 1D array applicable for 2 D array as well. The difference is, this array having 2 dimensional. To understand this, it’s better to think of the two-dimensional array as a matrix. A matrix can be thought of as a grid of numbers, arranged in rows and columns, kind of like a bingo board.

Linked List Data Structure Preview 05:42

Data Structures and Algorithms :

Like array, Linked list is the another way to sore the data. So before we move to linked list in detail we first understand why linked list and what is the problem with array data structure.

Singly Linked List (Flavour of linked list data structure) Preview 06:08

Data Structures and Algorithms : Whatever we have discussed in last video. Its singly linked list. Which means in every node holding value and another node which means reference of next node.

Doubly Linked List Video (Another flavour of linked list data structure) Preview 03:27

Data Structures and Algorithms :

A Single linked list contains two parts within it right. One part is holding actual data and another part contains reference of next node. But, A Doubly Linked List (DLL) contains an extra pointer, typically we can call it as previous pointer

Memory Efficient DLL Preview 04:03

Data Structures and Algorithms : In ordinary Doubly Linked List requires space for two address fields to store the addresses of previous and next nodes. A memory efficient version of Doubly Linked List can be created using only one space for address field with every node. This memory efficient Doubly Linked List is called XOR Linked List. or Memory Efficient as the list uses bit-wise XOR operation to save space for one address. In the XOR linked list, instead of storing actual memory addresses, every node stores the XOR of addresses of previous and next nodes.

Circular Linked List (One more flavour of linked list data structure) Preview 01:19

Data Structures and Algorithms : If you see the  Singly linked list and doubly liked list, Last node reference will point to null right. But in circular linked list, Last node reference will point to first node so that it will form a circle. Here you can start your iteration from anywhere you want. But in singly and doubly linked list you can start the iteration from Head node only. Which means 1st node

Linked List Implementation Preview 14:40

Data Structures and Algorithms : Its Implementation approach for  Linked List

HW Linked List Preview 02:27

Data Structures and Algorithms : Home work

Linked List Vs Array Preview 01:36

Data Structures and Algorithms : Till now we have discussed about Array and Linked list and various form of array and linked list.

But when we should prefer linked list over array and when we should prefer array over linked list. Lets discuss this in this video.

Hash Table (Special flavour of data structure)) Preview 05:33

Data Structures and Algorithms : Hash table is a data structure used to store a key-value pair. In a hash table, data is stored in an array format, where each data value has its own unique index value. Access of data becomes very fast if we know the index of the data that is the idea of hash table

Hashing Algorithm Preview 04:46

Data Structures and Algorithms : Hashing is a technique used in Hash table to convert a range of key values into a range of indexes of an array. Hashing is a technique that is used to uniquely identify a specific object from a group of similar objects. We're going to use modulo operator to get a range of key values.

Handling Collisions Preview 06:45

Data Structures and Algorithms : Some times if you apply a hash function to two different keys its generate the same index number for both the keys. But both the element can’t go to the same place. This is known as collisions. And we have seen 2 different ways to handle collisions one is separate chaining and another one is open addressing.

Basic Data structures Wrap-Up Preview 04:46

Data Structures and Algorithms : This video is quick wrap-up which you learnt in this unit.

Introduction to Stack Data Structures Preview 04:04

Data Structures and Algorithms : Stack is a simple data structure and its another option to storing data and stack is some what similar to Linked Lists. In a stack, the order in which the data arrives is important.   

Stack Operations Preview 03:57

Data Structures and Algorithms : When we use stack data structure to store the element, we can do basic operation like inserting element into the stack and remove the element from the stack. It’s basically PUSH and POP.     

Applications of Stack Preview 01:39

Data Structures and Algorithms : Now we are going to see some real-world application for Stack data structure.

Stack Implementation using Linked List Preview 09:35

Data Structures and Algorithms : Its Implementation approach for Stack using Linked List

Stack Implementation using array Preview 04:30

Data Structures and Algorithms : Its Implementation approach for Stack using Array

Queue Data Structures Preview 03:49

Data Structures and Algorithms : Queue is another data structure used to storing data and it is similar to Linked Lists and stack. In a queue, the order in which the data arrives is important. Let’s say for example, a queue is a line of people or things waiting to be served in sequential order starting at the beginning of the line or sequence. A Queue is a linear structure which follows a particular order in which the operations are performed. The order is First In First Out (FIFO)

Queue Operations Preview 03:32

Data Structures and Algorithms : When we use queue data structure to store the element, we can do basic operation like inserting element into the queue and remove the element from the queue. It’s basically ENQUEUE and DEQUEUE. These or the main operation in queue.

Applications of Queue Data Structure Preview 01:16

Data Structures and Algorithms : Here we are going to see some real-world application for Queue data structure.

Queue Implementation using Linked List Preview 09:29

Data Structures and Algorithms : Its Implementation approach for Queue Using Linked List

Queue Implementation using Array Preview 04:56

Data Structures and Algorithms : Its Implementation approach for Queue Using Array

Priority Queue (Flavour of Queue data structure) Preview 03:01

Data Structures and Algorithms : In this video we are going to talk about priority queue. Priority queue is similar to queue and only difference is, while adding the element in to the priority queue data will add in sorted order. That’s it. That the only different between normal queue and priority queue. Other than this, everything is similar like enqueue, dequeue operations and basic feature of queue like the element which is inserted first the one will come out first. So everything will be similar to normal queue.

Unit 3 Wrap-Up Preview 02:15

Data Structures and Algorithms : This is quick wrap-up for whatever we have covered in this Unit.

Introduction to Tree Data Structure Preview 02:59

Data Structures and Algorithms : Tree is another type of data structure like linked list, Stack and Queue. But Tree is somewhat different from these data structure. Means Tree is the nonlinear data structure while linked list, Stack and Queue are linear data structure. Which means, In Linked list, Stack and queue node are simply pointing to next node means one node will point to another node. But in tree nodes are pointing no many number of nodes. these nodes are leaf of the tree   

Binary Tree Preview 05:48

Data Structures and Algorithms : Further we will discuss about binary tree which is derived from Tree. We can say like if tree met certain condition which is applicable for Binary tree that’s called Binary tree.

 So The things we were discussed about root node, children, height and depth are applicable for binary tree also.

Binary Search Tree Preview 04:22

Data Structures and Algorithms : Binary Search Tree is another variant of Binary Tree. In the binary tree we haven’t any restriction for node data. So, if you want to search any node data from binary tree, you have to search both left sub tree and right sub tree. Means we have to visit each and every node of the tree. So, complexity will be O(n) in worst case. That’s why we came for Binary search tree. The main use of binary search tree is Search. It has the restriction for node data’s while storing it into the binary search tree. So, it will simplify the complexity of search operation in Tree. As a result, it reduces the worst case complexity to O(logn).

BST Search Implementation Preview 07:50

Data Structures and Algorithms : Its Implementation approach for BST

BST Insert Implementation Preview 13:00

Its Implementation approach for BST Insert

BST Deletion Implementation Preview 04:51

Its Implementation approach for BST Delete 

Tree Traversals Preview 03:36

Data Structures and Algorithms : Based on the order on which node is visited, tree traversal algorithms are classified into two category.

 

  • Breadth First Search (B F S)

  • Depth First Search   (D F S)

Breadth First Search (Traversals Algorithm) Preview 02:02

Data Structures and Algorithms : Here we will start with Breadth First Search. In the name itself saying that, we have to visit the nodes based on Breadth of the tree. Or simply we can say like search horizontally. And In Breadth first search we have to prioritize the node by visiting all node on the same level before we move down to child node.     

Breadth First Search Implementation Preview 07:27

Data Structures and Algorithms : Its Implementation approach for Breadth First Search

Depth First Search (Traversals Algorithm) Preview 03:00

Data Structures and Algorithms : In Breadth first search approach for any node, we visit all its children before visiting any of its grand children.     But in Depth first approach, if we would like to go child of any node. We have to complete full left subtree of that node before we move to right child node.           

Depth First Search: Pre-Order Preview 01:50

Data Structures and Algorithms : If we go over pre order traversal, we have to visit root node first and than left node and than right node.

Depth First Search: In-Order Preview 02:00

Data Structures and Algorithms : If we go over In order traversal, we have to visit left node first and then root node and than right node. Ok now we will travel through this tree.

Depth First Search: Post-Order Preview 01:40

Data Structures and Algorithms : If we go over post order traversal, we have to visit left node first and then right node and than root node. Ok now we will travel through this tree.

Depth First Search Implementation Preview 06:08

Data Structures and Algorithms : Its Implementation approach for Depth First Search

Unit Wrap-Up Preview 01:52

Data Structures and Algorithms : This is quick wrap-up for whatever we have covered in this Unit.

Introduction to Graph Data Structures Preview 02:46

Data Structures and Algorithms : Graph is pair of node and connections. I will just draw some circles. I will call it as A, B and C. These circles are nodes. And these nodes are connected with line and we can call this as connection. Its just a connection between the nodes. We will refer this nodes are vertices and we will refer this connection as edges. This is the graph. So Basically A Graph consists of a finite set of vertices and set of Edges which connect a pair of nodes. And A Graph is a non-linear data structure like tree.

Types of Graph Preview 05:48

Data Structures and Algorithms : So coming to type of graph, there are two kind of graph, i.e

  • Direct/Undirected Graph

  • Weighted/Un Weighted Graph

Till now what we have discussed and what the example we have used to discuss about the graph is Un directed and un weighted graph. Means we haven’t use any direction when we represent edges and we haven’t given any number to the edges to associate with. I mean weight.

Uses of Graph Data structure Preview 04:19

Data Structures and Algorithms : First one is Social Network. Lets take Facebook. In face book we are connected with friends right. How face book handles this connection between you and your friends. And how face book finds the mutual friend details to you when you look at some of your friends profile? Think about what data structure face book might have use for this ? Its Graph.

Graph Representations Preview 10:56

Data Structures and Algorithms : If we search this in internet, mostly people are talking about the two ways to represent the graph data structure.

  • Adjacency Matrix

  • Adjacency List

Its hard to represent the graph data structure other than these two ways why because, we can expect one node may connected with more number nodes.  

Compare Matrix Vs List Representation Preview 02:15

Data Structures and Algorithms : Matrix the one way to represent Graph data structure in another hand List is another way to do the same Job. So which one is better. Here will compare both the things based on certain factor like accessing node and accessing child node and memory.

Graph Implementation Preview 09:02

Data Structures and Algorithms : Its Implementation approach for Graph

Graph Traversals Algorithms Preview 10:02

Data Structures and Algorithms : Based on the order on which node is visited, graph traversal algorithms are classified into two category.  

  • Breadth First Search (B F S)

  • Depth First Search   (D F S)

Graph Traversal Implementation Preview 12:46

Data Structures and Algorithms : Its Implementation approach for Graph Traversal

Unit Wrap-Up Preview 01:58

Data Structures and Algorithms : This is quick wrap-up for whatever we have covered in this Unit.

Your Review Make My Day! Preview 00:23

Think of Algorithms: Real fun starts here!!! Preview 00:11

Introduction Preview 02:24

Data Structures and Algorithms : In last section, we have a talked about graph data structure and how we can travel over the graph.

In this unit we are going to talk about what is mean by shortest path and what is best algorithm to find shortest path in the graph.  

Dijkstra's Algorithm Preview 13:08

Data Structures and Algorithms : Dijkstra’s algorithm can be used to determine the shortest path from one node in a graph to every other node within the same graph

A* Algorithm Preview 11:37

Data Structures and Algorithms : A Start Search algorithm is one of the best and popular technique used in path-finding in Graph. it is really a smart algorithm which separates it from the other conventional algorithms or we can say like The A* search algorithm is an extension of Dijkstra's algorithm to finding the shortest path between two nodes. And A* algorithm requires a heuristic, it is defined using heuristic values for distances.      

Linear Search Algorithm Preview 03:17

Data Structures and Algorithms : Linear search sequentially checks each element of the list until it finds an element that matches the target value. If the algorithm reaches the end of the list, the search terminates unsuccessfully.

Linear Search Implementation Preview 04:09

Data Structures and Algorithms : Its Implementation approach for Linear Search

Binary Search Algorithm Preview 10:15

Data Structures and Algorithms : Binary search works on sorted arrays. Binary search begins by comparing the middle element of the array with the target value. If the target value matches the middle element, its position in the array is returned. If the target value is less than the middle element, the search continues in the lower half of the array. If the target value is greater than the middle element, the search continues in the upper half of the array. By doing this, the algorithm eliminates the half in which the target value cannot lie in each iteration

Binary Search Implementation Preview 07:05

Data Structures and Algorithms : Its Implementation approach for Binary Search

Introduction Preview 01:55

Data Structures and Algorithms : Sorting is the process of rearrange the data with in collection. Sorting is the common task and its very interesting one to understand in data structure world. We can apply the sorting algorithm on top of all most all the data structures like array, linked list like that. There are millions of ways to sort the collection. Similarly, lots of sorting algorithms are available and each one work and give the best result based on data available in the data structure.     

Bubble Sort Algorithm Preview 06:37

Data Structures and Algorithms : In this video we will start with bubble sort algorithm. It’s a famous algorithm for sorting   

Bubble Sort Algorithm Implementation Preview 09:01

Data Structures and Algorithms : Its Implementation approach for Bubble Sort

Selection Sort Algorithm Preview 03:59

Data Structures and Algorithms : In this video are going to talk about selection sort. The selection sort algorithm sorts an array by repeatedly finding the minimum element from unsorted part and putting it at the beginning. Means this algorithm finds the minimum element from the array and it will be placed in the 1st position. And its done for 1st position and in the next iteration, it will take and process the rest of the element which is unsorted now in the array.     

Selection Sort Algorithm Implementation Preview 10:16

Data Structures and Algorithms : Its Implementation approach for Selection Sort

Insertion Sort Algorithm Preview 07:05

Data Structures and Algorithms : In this video we are going to discuss about insertion sorting algorithm.

Insertion sort is a simple sorting algorithm that works the way we sort playing cards in our hands.

Insertion Sort Algorithm Implementation Preview 06:00

Data Structures and Algorithms : Its Implementation approach for Insertion Sort

Merge Sort Algorithm Preview 07:32

Data Structures and Algorithms : So next algorithm is merge sorting algorithm. Merge sorting technique based on divide and conquer technique. So algorithms which is we have discussed earlier i.e. Bubble sort, Selection sort and insertion sort are taking time complicity will be n2  in worst case. But for the merge sort time complexity will be Ο(n log n). It’s somewhat less complexity than other sorting algorithm.

 I hope you remember that, Divide and conquer means dived the bigger problems to small problems and conquer means analyze the problem and finally combine the results.

Merge Sort Algorithm Implementation Preview 08:24

Data Structures and Algorithms : Its Implementation approach for Merge Sort

Quick Sort Algorithm Preview 06:45

Data Structures and Algorithms : In this video we are going to discuss about quick sorting algorithm. This algorithm applies divide and conquer approach to solve the sorting problem. As we have already discussed, Divide and conquer means dive the bigger problems to small problems and conquer means analyze the problem and finally combine the result. The overall idea of the quick search algorithm is, choosing one element as a pivot element and partitioning the array around it. means the element which is smaller than pivot, has to be moved to left hand side of the pivot and the element which is greater the pivot, has to be moved to right hand side of the pivot.     

Quick Sort Algorithm Implementation Preview 06:01

Data Structures and Algorithms : Its Implementation approach for Quick Sort

Heap Sort Algorithm Preview 13:43

Data Structures and Algorithms : In this video we are going to discuss about the one of the most interesting algorithm for storing Its Heap sort. In this Unit we have seen lots of algorithm for sorting the elements in the collection. Compared with all other algorithm, heap sort algorithm will be more efficient than other algorithms. Why because, if you take Merge sort its time complexity will be nLogn but While we think about space its taking more space to execute the algorithm right I hope you remember that its O(n). Lets think about Quick sort its space complexity will be O(1) but what about its time complexity  in worst case. Its O(n2).

But if we use heap sort to sort the element in an array time complexity will be O(nLogn) and space complexity will be O(1). Its better deal right.

Heap Sort Algorithm Implementation Preview 07:28

Data Structures and Algorithms : Its Implementation approach for Heap  Sort

Thank You! Preview 03:44

Data Structures and Algorithms : I recommend you to spent your valuable time in https://www.geeksforgeeks.org/

And another great resource to increase problem solving skill is https://www.hackerrank.com/dashboard

That's all for now! Preview 00:04