Sorry, your browser is not supported
To have the best experience using Skillshare, we recommend that you use one of these supported browsers.

Data Structures and Algorithm Paradigm and concepts - part 2/2

Andrew Joseph, Linux Enthusiast,Software Programmer,Consultant

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
24 Videos (1h 39m)
    • 5.1 Intro, Learning objectives

    • 5.2 Calculator

    • 5.3 Back-tracking

    • 5.4 Divide and conquer

    • 5.5 Application and Summary

    • 6.1 Intro, Learning objectives

    • 6.2 Concept of Queue data structure

    • 6.3 Type of queue

    • 6.4 Application of queue

    • 6.5 BFS(Breadth First Search)

    • 6.6 Application and Summary

    • 7.1 Intro, Learning objectives

    • 7.2 List

    • 7.3 Insertion sort

    • 7.4 Merge sort

    • 7.5 Application of List

    • 7.6 Application and Summary

    • 8.1 Intro, Learning objectives

    • 8.2 Understanding and expression of Tree

    • 8.3 Binary Tree

    • 8.4 Expression Tree

    • 8.5 Binary search Tree

    • 8.6 Heap

    • 8.7 Application and Summary


About This Class


What is the course about?

This is the second and final part which covers advance stacks, back-tracking, Divide and conquer, Queues(types and application), BFS(Breadth First Search), Lists, Insertion Sort, Merge Sort, Binary Tree, Expression Tree, Heaps.

First part (click here) covers Introduction to Algorithms, Arrays, Greedy Algorithm, Sort, Subset, strings, pattern matching, Stack, Memoization, Dynamic programming(DP), DFS(Depth First Search).

This course covers the essential information that every serious programmer needs to know about algorithms and data structures. This course will cover basic iterable data types, sorting, and searching algorithms. This comprehensive course will give you enough understanding on algorithms and data structures from where you can take yourself to higher level of expertise.

Programming assignments and laboratory exercises are required to do by students. Please remember that this is a serious course on programming. I believe that subjects like algorithms and data structures cannot be learned in few hours. It required continuous practice. Students may have to put a lot of efforts in order to become expert in programming and make the best use of this course.This course covers the essential information that every programmer needs to know about algorithms and data structures.

When you complete this course, you will be able to understand the basic terminologies and concepts of Algorithms for software development.

You will be able to apply the roles of Algorithms in products and various components of the software product.Improve your implementation capabilities with a solid grounding in data structures and going through various practice sessions to improve implementation ability.This course will allow developers to build the concepts in algorithms and learn how to apply them in real world tasks.This course will lay down the foundation of programmingStudents taking this course will be able to write serious programs.For college going students, this course will help in improving grades in college curriculum.

Who should take this course ?

1. The learning targets of this course are software developers, computer science engineers and students who wish to strengthen their software problem-solving ability.

2. This is a course for professionals and students in occupational group in any organization or academics to help them to understand the basics of Algorithms and data structures that they should know well.3. IT professionals with little or no algorithm experience.4. Computer and IT hobbyists

What all is required ?

A spare working computer with gcc compiler or virtualization software like VMWare Fusion or Virtual Box

What kind of material is included?

1. This course consists of high quality training content using quality videos with industry oriented hands-on examples.

2. I have tried to include the juice of my 10 years of experience in this course.

3. The focus is on giving real life essential tricks and skills.

4. This course will have sets of online assignments and objective type quizzes.

5. I suggest students to take this course with pen and paper handy. Note the important points and take part in discussions. The exercise is the most important part in learning any subject. I advise students to take the problems after each section.

How long will the course take to complete?

1. This is the comprehensive course covering almost all the topics of algorithms and data structures.

2. I advise students to cover not more than one lesson/section per day and do not move to the next lesson/section without doing the exercise.

How is the course structured?

1. A perfect blend of theory and programming.

Why take this course?

1. This is the comprehensive course covering almost all the topics of algorithms and data structures.

2. This course will tends to replace text books ie it will be a complete reference of algorithms and data structures.

3. For the college going students, this course helps in improving grades in college curriculum and increases the chances at the final Campus Interview.

Visit to get discounts on my courses + additional free resources






Reviews (0)

Andrew Joseph

Linux Enthusiast,Software Programmer,Consultant

As an programming enthusiast, I want to share my knowledge and interests here.
My name is Andrew Joseph.
I started learning about programming since high school, dived in "Basic" first, which eventually made me major in Electronics and Communications.
After completing the college, in 2005, I started working in the software and system departments at large corporations. Since then I have grown my Linux skills at various levels. Through the years I've worked in many positions as a Linux ...

See full profile