What will you need to know or do before starting the course?
1 The full training program is divided into few courses. It is recommended to finish all previous courses of this training program. There may be some references which are taken from the previous courses.
2 If you wish to take all the courses, I recommend to take the courses in sequence to get WHOLE of this training program.
3 A spare working computer with gcc compiler(preferably) or virtualization software like VMWare Fusion or Virtual Box.
4 This course assumes that the students have some background in mathematical concepts and formal reasoning.
Who should take this course? Who should not?
1 Job seekers who are preparing for interview in Product MNC/e-commerce/service companies. Anyone who has deep desire to learn Data Structures And Algorithms,Competitive Programming.
2 Undergraduates, Graduates and Post-Graduates
3 Software developers, computer science engineers and students who wish to strengthen their software problem-solving ability.
4 Experienced software engineers who are looking to refresh important fundamental concepts
5 If you're fed up with academia centric courses on Data Structures & Algorithms and want to intuitively & practically understand how to implement and the most popular algorithms and data structures in software, then this course is for you.
6 If you want to learn popular data structures and algorithms at a deep level, then this course is for you.
7 If you are a software developer with a good grasp of the fundamentals of Programming, and you are confident with the essentials but want to delve deeper and understand data structures and algorithms, then this course is for you.
8 This course is meant for everyone from scientists to software developers who want to get closer to algorithmic thinking.
9 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.
10 For college going students, this course will help in improving grades in college curriculum.
What Will I Learn?
1 Hashing
2 Collision
3 Pattern Matching
4 Brute Force
5 Karp–Rabin
6 KMP(Knuth-Morris-Pratt)
7 Boyer-Moore
8 Trie
9 Compressed Trie
10 Suffix Tree
11 Suffix Array
12 Compression
13 LCP Array
14 Run-Length Encoding
15 Huffman Coding
16 Lampel-Ziv-Welch Encoding
17 Arithmetic Coding
18 Dynamic Programming
19 Fibonacci Number
20 Mathematical Induction
21 Pigeon Hole Principle
22 Memoization
23 Binomial Theorem
24 Pascal's Triangle
25 Knapsack Problem
26 Search of State Space Tree
27 Branch and Bound
28 Pruning (Backtracking)
29 Best-First Search
30 Dynamic Programming
31 Longest Increasing Sequence
32 All Pairs Shortest Path
33 Weighted directed graph
34 Floyd-Warshall Algorithm
35 Traveling Salesman Problem
36 NP-Complete
37 Deterministic, Nondeterministic
38 Polynomial Time Conversion
39 NP-Hard
40 SAT
41 Boolean Expression
42 Partition
43 Vertex Cover
44 Independence Set
45 Clique
46 Graph Coloring
47 Set Cover
48 Longest Path
49 Hamiltonian Cycle
50 Bin Packing
51 Job Scheduling
52 Approximation Algorithm
53 Simulated Annealing
54 Graph of Search Process
55 Number Theory and Optimization
56 Probability
57 GCD
58 Euclid Algorithm
59 LCM
60 Modulo Operation
61 To receive certification that you have completed the course, you must attend the course in full.
62 The full training program is divided into few courses. If you wish to take more courses, I recommend to take the courses in sequence to get WHOLE of this training programme.
63 To receive certification that you have completed the course, you must attend the course in full.
64 When you complete this course, you will be able to understand the terminologies and concepts of Algorithms for software development.
65 You will be able to apply the roles of Algorithms in products and various components of the software product.
66 This course is designed to improve the software developer’s implementation capabilities by covering the algorithms and data structures to improve implementation ability.
67 This course will allow developers to build the concepts in algorithms and learn how to apply them in real world tasks.
68 Job seekers who are preparing for interview in Product MNC/e-commerce/service companies. Anyone who has deep desire to learn Data Structures And Algorithms,Competitive Programming.
69 For college going students, this course will help in improving grades in college curriculum.
What is the course about?
"It is always possible to make a brute force approach to solve any problem, the algorithms are here to provide an optimised solution to them."
This is the third and last part of the Training program on Algorithms and Data Structures which covers the essential information that every serious programmer needs to know about algorithms and data structures. This course will cover Hashing,Collision,Pattern Matching,Brute Force,Karp–Rabin,KMP(Knuth-Morris-Pratt),Boyer-Moore,Trie,Compressed Trie,Suffix Tree,Suffix Array,Compression,LCP Array,Run-Length Encoding,Huffman Coding,Lampel-Ziv-Welch Encoding,Arithmetic Coding,Dynamic Programming,Fibonacci Number,Mathematical Induction,Pigeon Hole Principle,Memoization,Binomial Theorem,Pascal's Triangle,Knapsack Problem,Search of State Space Tree,Branch and Bound, Pruning (Backtracking),Best-First Search, Longest Increasing Sequence,All Pairs Shortest Path,Weighted directed graph,Floyd-Warshall Algorithm,Traveling Salesman Problem,NP-Complete,Deterministic, Nondeterministic,Polynomial Time Conversion,NP-Hard,SAT,Boolean Expression,Partition,Vertex Cover,Independence Set,Clique,Graph Coloring,Set Cover,Longest Path,Hamiltonian Cycle,Bin Packing,Job Sheduling,Approximation Algorithm,Job Scheduling,Simulated Annealing,Graph of Search Process,Number Theory and Optimization,Probability,GCD,Euclid Algorithm,LCM,Modulo Operation. This comprehensive course will give you enough understanding on algorithms and data structures from where you can take yourself to higher level of expertise.
1. This course will help you in finding patterns in problems and solving them efficiently. It will make you super fast especially in the solving problems.
2. Choosing the right technique/data structure is a basic skill when you start learning algorithm and practice solving problems
3. Analyse your solution and understand why it should work based on the amount of input data you expect .. or may be understand why a solution won’t work …
4. Reducing some problems to be able to use a specific programming techniques
5. How to store your data efficiently for later processing
6. When to do pre-processing for your data to minimize the running time of later hits to your data
7. When you use technologies that does Caching/Hasing/Indexing/... you will know how these things work internally and this will make you a better user of the concepts.
The output after applying the particular algorithm is obviously important, only the performances changes between 2 different sort algorithm but it's not the case for a hash, a checksum, a compression one (data, audio and video) etc... in this case knowing what the algorithm is doing does matter. This course will help you in thinking out of the box.
If you don't know the algorithms, how would you know:
- Which image compression to use ? jpg or jpeg2000 ?
- Which audio compression Mp3, OGG, AAC ?
- Which data compression ? zip, 7zip, rar ?
- Which hash to use ? md5, sha-1
- Which sort algorithm ? heap sort, qsort, etc... ?
- The list is long, all of them have their pros and cons.
Its all about algorithms. All the details of these compressions are not explained in this course but it is a food for thought.
You basically won't ever get an interview that won't require you to have some foundational knowledge in computer science, and such interviews will often ask you about complexity of various algorithms.
You will be taught all the skills needed for Algorithms and data structures from the basic fundamentals to the very complicated level of details and tricks related to the languages.
This course will benefit you to perform your programming jobs better and also help you to get to better positions, with confidence, in case you are looking out for jobs.This course will help you to to handle Algorithm based interview with more confidence.
This course is not based on any one programming language. Its a concept based training program which deals with psuedo code. This can be applied to any language viz C, C++, Java, Python etc
Please remember that this is a serious course on algorithms. I believe that subjects like algorithms and data structures cannot be learned in few hours or days. 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.
If you are:
1. Tired of finding good learning resources on Algorithms ?
2. Do you want to become a expert level Programmer ?
3. Are you ready to learn how Hashing,Collision,Pattern Matching,Brute Force,Karp–Rabin,KMP(Knuth-Morris-Pratt),Boyer-Moore,Trie works ?
4. As a Bonus, get a complimentary consultation about Linux OS and Linux Kernel Internals, Algorithms, Data Structures, HTML, C and Java Programming languages.
5. So if you’re looking for knowledge, a rewarding adventure, and the advantage a future perspective can offer, I’m excited to tell you more about my step-by-step training program for Algorithms and Data Structures.
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. 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?
0. Algorithms is the hot subject for interviewers. This course will surely help.
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.
4. Algorithms is a difficult subject, I have tried hard to make my delivery easy and effective.
When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
Join worldwide learners who uses Algorithms and DS as part of their curriculum and Job.