Fundamental Data Structures & Algorithms using C language.

  • Course provided by Udemy
  • Study type: Online
  • Starts: Anytime
  • Price: See latest price on Udemy
Udemy

Course Description

You will learn the following in this course: (All implemented using C programming)

  1. Fundamental of Data Structure concept


  2. Why we need Data Structures


  3. Stack - Idea, definition, algorithm, implementations.


  4. Using Stack - Parenthesis checking, Polish Notation, Infix to postfix conversion and evaluation.


  5. FIFO Queue - Idea, definition, algorithm, implementation.


  6. Circular Queue using array - Idea, definition, algorithm, implementation.


  7. Double ended queue using array - Idea, definition, algorithm, implementation.


  8. Linked List - Idea, definition, why we need linked list. Comparison with array.


  9. Singly Linked List - Development of algorithm for various operations and then Implementation of each of them


  10. Creating Stack and Queue using Singly Linked list - Implementation.


  11. Doubly Linked List - Idea, definition, algorithm of various operations and implementations.


  12. Circular Linked List - Idea, definition, algorithm and implementations.

14. Calculating efficiency of algorithms, Worst Case (Big Oh), Average Case (Big Theta) and Best case (Big omega) complexities. How to calculate them for different algorithms.

15. Binary Searching

16. Recursion in detail. Example program using recursion and the critical comparison between Recursive approach and Iterative approach of problem solving.

17. Binary Tree, definition, traversal (In, Pre and Post Order), Binary Search Tree implementation.

18. Heap data structure, definition, heap insertion, deletion, heap adjust, Heapify and heap sort.



Who this course is for:

  • Students who want to prepare themselve for interview of top companies like Google, Amazon or Microsoft.
  • Students who are looking forward to be an efficient programmer, who are having data structures in their syllabus.
  • Students who wants to have in dept knowledge about the Stack, Queue and Linked List, Efficiency of Algorithm, Binary Tree, Heap

Instructor

Programming Instructor with 16+ years of experience
  • 4.4 Instructor Rating
  • 4,588 Reviews
  • 26,365 Students
  • 7 Courses

Hi, I have been teaching computer science and programming since 2001. I did my M Tech in Computer Science and remained visiting faculty to the CSE department of Narula Institute of Technology. I have my own training institute where I provide training on various programming languages and technologies to the B Tech students on C, C++, Java, Android programming, Data structure and Algorithm, DBMS, SQL and PL/SQL.

In my class room I usually teach 100-150 students per semester on different subjects. With the udemy platform now it is possible to teach and spread my knowledge to thousands (may be more)of students across the globe, Udemy opens up vast opportunity for instructor like me and that with remuneration. I guess it's going to be a fantastic.

When I am not taking class I enjoy learning some new technologies. In my leisure time one could find me enjoying with my kids or gossiping with my beautiful wife over a container of tea. I am a "tea-totaller" (guess the meaning :) ) and hate smoking. I have a definite plan to launch an online course on topic "How to drink tea - the best way" on udemy for sure and also on "How to quit smoking - the best way".

Let's hope for the best, happy learning.

Expected Outcomes

  1. Recursion, Stack, Polish Notations, infix to postfix, FIFO Queue, Circular Queue, Double Ended Queue, Linked List - Linear, double and Circular - all operations, Stack and Queue using Linked List What is stack, algorithms for Push and Pop operation. Implementation of Stack data structure using C. Using Stack - checking parenthesis in an expression Using Stack - Understanding Polish notations, algorithm and implementation of infix to postfix conversion and evaluation of postfix expression What is a FIFO Queue, understanding Queue operations - Insert and delete, implementing FIFO Queue Limitations of FIFO queue, concept of Circular Queue - Implementation of Circular queue. Concept of Double ended queue, logic development and implementation of double ended queue. Concept of Linked List - definition, why we need linked list. Singly Linked List - developing algorithms for various methods and then implementing them using C programming Doubly Linked List - developing algorithm of various methods and then implementing them using C programming Circular Linked List - developing algorithm of various methods and then implementing them using C programming How to estimate time complexity of any algorithm. Big Oh, Big Omega and Big Theta notations. Recursion, concept of Tail recursion, Recursion Vs Iteration. Binary Tree, definition, traversal (in-order, pre-order and post-order), binary search tree, implementation. Heap - concept, definition, almost complete binary tree, insertion into heap, heap adjust, deletion, heapify and heap sort. Show more Show less Curated for the Udemy Business collection Course content 15 sections • 125 lectures • 15h 42m total length Expand all sections Introduction to the course. 1 lecture • 4min Introduction to the course. Preview 04:25 All about Stack 10 lectures • 54min Introduction of Stack 02:47 Basic understanding of Stack. 4 questions Some practical example where Stack is used. 03:52 Basic Algorithm for Stack data structure. Preview 07:06 Test your understanding on Stack operations 3 questions Implementation of Stack. 07:16 Some more explanations about the use of Pointers 02:24 Building a menu for the implementation. 03:28 Make the Stack dynamic. 06:10 Make the stack more dynamic. 05:16 Stack In Action - Decimal to binary conversion Preview 08:38 Stack In Action - Reversing the content of a text file. 07:20 Step-by-step developing a parenthesis checking program using Stack. 5 lectures • 47min Understanding the problem. 10:55 Developing the algorithm for bracket checking. 08:52 The explanation of the algorithm that we develop for parenthesis checking. 13:25 Implementation of parenthesis checking program - Part 1 05:55 Implementation of parenthesis checking program - Part 2 08:17 Polish notation and Reverse Polish Notation. 13 lectures • 2hr 9min Introduction to Polish Notation Preview 06:42 Polish Notations 4 questions Understanding precedence of operators, conversion idea - infix to prefix/postfix 11:30 Polish Notations, converting infix to prefix or postfix. 4 questions How to evaluate Polish or Reverse Polish Notations. 08:40 Algorithm for evaluating Postfix expression. 06:56 Evaluating prefix and postfix expression 2 questions Implementing evaluation of Postfix expression with C Programming language. 11:19 Discussion on how to convert Infix to Postfix. 17:14 Infix to Postfix conversion - More examples with procedure 17:20 Elaboration of the procedure that converts infix to postfix. 03:14 Writing the algorithm for converting Infix expression to equivalent Postfix. 06:38 Converting infix to postfix - the precedence checking 3 questions Dry running the Algorithm for converting Infix to Postfix. 15:43 Starting the implementation, lets first develop the precedence checker function. Preview 08:42 Writing the C function for converting Infix to Postfix. 13:22 Combine the conversion and evaluation function in a single program. 01:42 All about Queue 16 lectures • 1hr 26min Introduction to Queue 06:04 Basic understanding of Queue 2 questions The FIFO queue implementation idea using Array - Understanding with animation. 02:13 Algorithm for FIFO Queue. 04:37 FIFO Queue Algorithm understanding 2 questions Dry run the FIFO queue algorithm. 06:43 Implementation of FIFO Queue. 06:59 Stack and Queue operations 1 question A menu for the Queue program. 03:18 The loophole in our implementation of FIFO Queue. 03:16 Understanding the loophole, why that happened? 05:21 Flaw in the implementation of FIFO Queue 3 questions Introduction to Circular Queue. 03:41 Circular queue operations. How to perform enqueue and dequeue operations. 09:01 Moving rear and front in Circular Queue 3 questions Algorithm for Circular Queue operations. 04:15 Dry run Circular Queue operations using the algorithm. 2 questions Implementation of Circular Queue. 05:06 Introduction to Double Ended Queue 04:54 Algorithm development for Double Ended Queue operations. 04:31 Dry run of the DEQ algorithm. 06:50 Implementation of Double Ended Queue. 08:55 Linked List 3 lectures • 15min Introduction to Linked List. 07:31 Definition of Linked List, conception of Node, understanding basic terminologies Preview 05:07 Categories of Linked List - Singly, Doubly and Circular Linked List. 02:04 LinkedList Introduction 9 questions Singly Linked List 18 lectures • 2hr 21min Understanding the 'struct' type we need for implementing singly linked list. 02:34 The Singly Linked List operations - starting the program. Preview 05:48 Developing Insert At Tail operation - Add a new node as last node. 08:35 Implementing Insert at Head - Add a new node as the first node. 10:04 Traversing the linked list - printing the content of each node. 09:00 Printing the detail of each node of the linked list. 04:14 Compiling and executing the program written so far. 08:05 Practice for Singly Linked List 00:48 Developing find operation - to search for a target in the linked list. 03:29 Load data from file and build the linked list. 09:18 Creating Linked List from randomly generated integer numbers. 06:07 Delete first operation to delete the first node. 07:39 Delete last operation to delete the last node. 09:53 Delete a node that contain a target data. 22:55 Reverse the linked list. 09:35 Traverse the singly linked list recursively. 07:56 Implementation of Stack using singly linked list. 07:41 Implementation of Queue using Linked List 07:05 Doubly Linked List 7 lectures • 1hr 17min Introduction to Doubly Linked List. 02:07 Starting the program to implement various operations for Doubly Linked List. 08:37 Implementation of Add First method to add a new node as the first node. 12:06 AddLast implementation to add a new node as the last node. 13:13 Find and Insert After and Insert Before operation. 16:41 Deleting a node - delete first, delete last and delete a target. 16:11 Double Ended Queue using doubly linked list. 07:38 Circular Linked List. 4 lectures • 22min Introduction to Circular Linked List. 02:55 Insert operation for Circular Linked List. 07:15 Delete Node operation. 05:11 Developing find and print operation. 06:35 Efficiency of Algorithm 8 lectures • 50min Efficiency of Algorithm - Introduction to the concept. 05:32 Mathematical Approach for estimating the efficiency. 03:21 Big-Oh notation - estimating worst case complexity. 05:39 How to calculate Big-Oh for a given algorithm explanation with example. 07:06 Big-Oh continue. 08:40 Some more example on calculating Big-Oh 06:36 Idea of Best case complexity - Big Omega notation. 07:51 Idea of Average case complexity - Big theta notation. 05:07 5 more sections Requirements Student should be conversant with basic C programming. Description You will learn the following in this course: (All implemented using C programming) Fundamental of Data Structure concept Why we need Data Structures Stack - Idea, definition, algorithm, implementations. Using Stack - Parenthesis checking, Polish Notation, Infix to postfix conversion and evaluation. FIFO Queue - Idea, definition, algorithm, implementation. Circular Queue using array - Idea, definition, algorithm, implementation. Double ended queue using array - Idea, definition, algorithm, implementation. Linked List - Idea, definition, why we need linked list. Comparison with array. Singly Linked List - Development of algorithm for various operations and then Implementation of each of them Creating Stack and Queue using Singly Linked list - Implementation. Doubly Linked List - Idea, definition, algorithm of various operations and implementations. Circular Linked List - Idea, definition, algorithm and implementations. 14. Calculating efficiency of algorithms, Worst Case (Big Oh), Average Case (Big Theta) and Best case (Big omega) complexities. How to calculate them for different algorithms. 15. Binary Searching 16. Recursion in detail. Example program using recursion and the critical comparison between Recursive approach and Iterative approach of problem solving. 17. Binary Tree, definition, traversal (In, Pre and Post Order), Binary Search Tree implementation. 18. Heap data structure, definition, heap insertion, deletion, heap adjust, Heapify and heap sort. Who this course is for: Students who want to prepare themselve for interview of top companies like Google, Amazon or Microsoft. Students who are looking forward to be an efficient programmer, who are having data structures in their syllabus. Students who wants to have in dept knowledge about the Stack, Queue and Linked List, Efficiency of Algorithm, Binary Tree, Heap Show more Show less Featured review Elliander Eldridge 101 courses 2 reviews Rating: 5.0 out of 5 5 months ago I'm taking this course to supplement computer science classes at a university. Typically, I have to write programs I am never taught how to write because the university is only concerned with getting me to "think programmatically" so courses like this are extremely helpful in filling in my gaps in understanding. Right now, stacks, queues, and working with pointers in general is where I struggle and so far at least this course has been explaining things very well. Show more Show less Instructor Shibaji Paul Programming Instructor with 16+ years of experience 4.4 Instructor Rating 4,588 Reviews 26,365 Students 7 Courses Hi, I have been teaching computer science and programming since 2001. I did my M Tech in Computer Science and remained visiting faculty to the CSE department of Narula Institute of Technology. I have my own training institute where I provide training on various programming languages and technologies to the B Tech students on C, C++, Java, Android programming, Data structure and Algorithm, DBMS, SQL and PL/SQL. In my class room I usually teach 100-150 students per semester on different subjects. With the udemy platform now it is possible to teach and spread my knowledge to thousands (may be more)of students across the globe, Udemy opens up vast opportunity for instructor like me and that with remuneration. I guess it's going to be a fantastic. When I am not taking class I enjoy learning some new technologies. In my leisure time one could find me enjoying with my kids or gossiping with my beautiful wife over a container of tea. I am a "tea-totaller" (guess the meaning :) ) and hate smoking. I have a definite plan to launch an online course on topic "How to drink tea - the best way" on udemy for sure and also on "How to quit smoking - the best way" . Let's hope for the best, happy learning. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677789876b5f004a',m:'e30fb83379186588f2f04dfa82b452ca22b667c2-1627741960-1800-AcbE3uBq72m9ExRYUpIpJVfNDwxPBhS9Sxd6Ak26NjuXsS28PWZMqACGnNpf1wSYijyk6239TDspSWU6yIwCZ2L03S8p/VBMWQi3UD+OaqfvoLf3ia9ScUVsq03t4T/B+pJYtoVUWZZJTKqA246V0LFSTRbcI3a/9qUQKCgF8Zs8',s:[0xa235d01cea,0x54c6a48d38],}})();
  2. What is stack, algorithms for Push and Pop operation. Implementation of Stack data structure using C. Using Stack - checking parenthesis in an expression Using Stack - Understanding Polish notations, algorithm and implementation of infix to postfix conversion and evaluation of postfix expression What is a FIFO Queue, understanding Queue operations - Insert and delete, implementing FIFO Queue Limitations of FIFO queue, concept of Circular Queue - Implementation of Circular queue. Concept of Double ended queue, logic development and implementation of double ended queue. Concept of Linked List - definition, why we need linked list. Singly Linked List - developing algorithms for various methods and then implementing them using C programming Doubly Linked List - developing algorithm of various methods and then implementing them using C programming Circular Linked List - developing algorithm of various methods and then implementing them using C programming How to estimate time complexity of any algorithm. Big Oh, Big Omega and Big Theta notations. Recursion, concept of Tail recursion, Recursion Vs Iteration. Binary Tree, definition, traversal (in-order, pre-order and post-order), binary search tree, implementation. Heap - concept, definition, almost complete binary tree, insertion into heap, heap adjust, deletion, heapify and heap sort. Show more Show less Curated for the Udemy Business collection Course content 15 sections • 125 lectures • 15h 42m total length Expand all sections Introduction to the course. 1 lecture • 4min Introduction to the course. Preview 04:25 All about Stack 10 lectures • 54min Introduction of Stack 02:47 Basic understanding of Stack. 4 questions Some practical example where Stack is used. 03:52 Basic Algorithm for Stack data structure. Preview 07:06 Test your understanding on Stack operations 3 questions Implementation of Stack. 07:16 Some more explanations about the use of Pointers 02:24 Building a menu for the implementation. 03:28 Make the Stack dynamic. 06:10 Make the stack more dynamic. 05:16 Stack In Action - Decimal to binary conversion Preview 08:38 Stack In Action - Reversing the content of a text file. 07:20 Step-by-step developing a parenthesis checking program using Stack. 5 lectures • 47min Understanding the problem. 10:55 Developing the algorithm for bracket checking. 08:52 The explanation of the algorithm that we develop for parenthesis checking. 13:25 Implementation of parenthesis checking program - Part 1 05:55 Implementation of parenthesis checking program - Part 2 08:17 Polish notation and Reverse Polish Notation. 13 lectures • 2hr 9min Introduction to Polish Notation Preview 06:42 Polish Notations 4 questions Understanding precedence of operators, conversion idea - infix to prefix/postfix 11:30 Polish Notations, converting infix to prefix or postfix. 4 questions How to evaluate Polish or Reverse Polish Notations. 08:40 Algorithm for evaluating Postfix expression. 06:56 Evaluating prefix and postfix expression 2 questions Implementing evaluation of Postfix expression with C Programming language. 11:19 Discussion on how to convert Infix to Postfix. 17:14 Infix to Postfix conversion - More examples with procedure 17:20 Elaboration of the procedure that converts infix to postfix. 03:14 Writing the algorithm for converting Infix expression to equivalent Postfix. 06:38 Converting infix to postfix - the precedence checking 3 questions Dry running the Algorithm for converting Infix to Postfix. 15:43 Starting the implementation, lets first develop the precedence checker function. Preview 08:42 Writing the C function for converting Infix to Postfix. 13:22 Combine the conversion and evaluation function in a single program. 01:42 All about Queue 16 lectures • 1hr 26min Introduction to Queue 06:04 Basic understanding of Queue 2 questions The FIFO queue implementation idea using Array - Understanding with animation. 02:13 Algorithm for FIFO Queue. 04:37 FIFO Queue Algorithm understanding 2 questions Dry run the FIFO queue algorithm. 06:43 Implementation of FIFO Queue. 06:59 Stack and Queue operations 1 question A menu for the Queue program. 03:18 The loophole in our implementation of FIFO Queue. 03:16 Understanding the loophole, why that happened? 05:21 Flaw in the implementation of FIFO Queue 3 questions Introduction to Circular Queue. 03:41 Circular queue operations. How to perform enqueue and dequeue operations. 09:01 Moving rear and front in Circular Queue 3 questions Algorithm for Circular Queue operations. 04:15 Dry run Circular Queue operations using the algorithm. 2 questions Implementation of Circular Queue. 05:06 Introduction to Double Ended Queue 04:54 Algorithm development for Double Ended Queue operations. 04:31 Dry run of the DEQ algorithm. 06:50 Implementation of Double Ended Queue. 08:55 Linked List 3 lectures • 15min Introduction to Linked List. 07:31 Definition of Linked List, conception of Node, understanding basic terminologies Preview 05:07 Categories of Linked List - Singly, Doubly and Circular Linked List. 02:04 LinkedList Introduction 9 questions Singly Linked List 18 lectures • 2hr 21min Understanding the 'struct' type we need for implementing singly linked list. 02:34 The Singly Linked List operations - starting the program. Preview 05:48 Developing Insert At Tail operation - Add a new node as last node. 08:35 Implementing Insert at Head - Add a new node as the first node. 10:04 Traversing the linked list - printing the content of each node. 09:00 Printing the detail of each node of the linked list. 04:14 Compiling and executing the program written so far. 08:05 Practice for Singly Linked List 00:48 Developing find operation - to search for a target in the linked list. 03:29 Load data from file and build the linked list. 09:18 Creating Linked List from randomly generated integer numbers. 06:07 Delete first operation to delete the first node. 07:39 Delete last operation to delete the last node. 09:53 Delete a node that contain a target data. 22:55 Reverse the linked list. 09:35 Traverse the singly linked list recursively. 07:56 Implementation of Stack using singly linked list. 07:41 Implementation of Queue using Linked List 07:05 Doubly Linked List 7 lectures • 1hr 17min Introduction to Doubly Linked List. 02:07 Starting the program to implement various operations for Doubly Linked List. 08:37 Implementation of Add First method to add a new node as the first node. 12:06 AddLast implementation to add a new node as the last node. 13:13 Find and Insert After and Insert Before operation. 16:41 Deleting a node - delete first, delete last and delete a target. 16:11 Double Ended Queue using doubly linked list. 07:38 Circular Linked List. 4 lectures • 22min Introduction to Circular Linked List. 02:55 Insert operation for Circular Linked List. 07:15 Delete Node operation. 05:11 Developing find and print operation. 06:35 Efficiency of Algorithm 8 lectures • 50min Efficiency of Algorithm - Introduction to the concept. 05:32 Mathematical Approach for estimating the efficiency. 03:21 Big-Oh notation - estimating worst case complexity. 05:39 How to calculate Big-Oh for a given algorithm explanation with example. 07:06 Big-Oh continue. 08:40 Some more example on calculating Big-Oh 06:36 Idea of Best case complexity - Big Omega notation. 07:51 Idea of Average case complexity - Big theta notation. 05:07 5 more sections Requirements Student should be conversant with basic C programming. Description You will learn the following in this course: (All implemented using C programming) Fundamental of Data Structure concept Why we need Data Structures Stack - Idea, definition, algorithm, implementations. Using Stack - Parenthesis checking, Polish Notation, Infix to postfix conversion and evaluation. FIFO Queue - Idea, definition, algorithm, implementation. Circular Queue using array - Idea, definition, algorithm, implementation. Double ended queue using array - Idea, definition, algorithm, implementation. Linked List - Idea, definition, why we need linked list. Comparison with array. Singly Linked List - Development of algorithm for various operations and then Implementation of each of them Creating Stack and Queue using Singly Linked list - Implementation. Doubly Linked List - Idea, definition, algorithm of various operations and implementations. Circular Linked List - Idea, definition, algorithm and implementations. 14. Calculating efficiency of algorithms, Worst Case (Big Oh), Average Case (Big Theta) and Best case (Big omega) complexities. How to calculate them for different algorithms. 15. Binary Searching 16. Recursion in detail. Example program using recursion and the critical comparison between Recursive approach and Iterative approach of problem solving. 17. Binary Tree, definition, traversal (In, Pre and Post Order), Binary Search Tree implementation. 18. Heap data structure, definition, heap insertion, deletion, heap adjust, Heapify and heap sort. Who this course is for: Students who want to prepare themselve for interview of top companies like Google, Amazon or Microsoft. Students who are looking forward to be an efficient programmer, who are having data structures in their syllabus. Students who wants to have in dept knowledge about the Stack, Queue and Linked List, Efficiency of Algorithm, Binary Tree, Heap Show more Show less Featured review Elliander Eldridge 101 courses 2 reviews Rating: 5.0 out of 5 5 months ago I'm taking this course to supplement computer science classes at a university. Typically, I have to write programs I am never taught how to write because the university is only concerned with getting me to "think programmatically" so courses like this are extremely helpful in filling in my gaps in understanding. Right now, stacks, queues, and working with pointers in general is where I struggle and so far at least this course has been explaining things very well. Show more Show less Instructor Shibaji Paul Programming Instructor with 16+ years of experience 4.4 Instructor Rating 4,588 Reviews 26,365 Students 7 Courses Hi, I have been teaching computer science and programming since 2001. I did my M Tech in Computer Science and remained visiting faculty to the CSE department of Narula Institute of Technology. I have my own training institute where I provide training on various programming languages and technologies to the B Tech students on C, C++, Java, Android programming, Data structure and Algorithm, DBMS, SQL and PL/SQL. In my class room I usually teach 100-150 students per semester on different subjects. With the udemy platform now it is possible to teach and spread my knowledge to thousands (may be more)of students across the globe, Udemy opens up vast opportunity for instructor like me and that with remuneration. I guess it's going to be a fantastic. When I am not taking class I enjoy learning some new technologies. In my leisure time one could find me enjoying with my kids or gossiping with my beautiful wife over a container of tea. I am a "tea-totaller" (guess the meaning :) ) and hate smoking. I have a definite plan to launch an online course on topic "How to drink tea - the best way" on udemy for sure and also on "How to quit smoking - the best way" . Let's hope for the best, happy learning. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677789876b5f004a',m:'e30fb83379186588f2f04dfa82b452ca22b667c2-1627741960-1800-AcbE3uBq72m9ExRYUpIpJVfNDwxPBhS9Sxd6Ak26NjuXsS28PWZMqACGnNpf1wSYijyk6239TDspSWU6yIwCZ2L03S8p/VBMWQi3UD+OaqfvoLf3ia9ScUVsq03t4T/B+pJYtoVUWZZJTKqA246V0LFSTRbcI3a/9qUQKCgF8Zs8',s:[0xa235d01cea,0x54c6a48d38],}})();
  3. Using Stack - checking parenthesis in an expression Using Stack - Understanding Polish notations, algorithm and implementation of infix to postfix conversion and evaluation of postfix expression What is a FIFO Queue, understanding Queue operations - Insert and delete, implementing FIFO Queue Limitations of FIFO queue, concept of Circular Queue - Implementation of Circular queue. Concept of Double ended queue, logic development and implementation of double ended queue. Concept of Linked List - definition, why we need linked list. Singly Linked List - developing algorithms for various methods and then implementing them using C programming Doubly Linked List - developing algorithm of various methods and then implementing them using C programming Circular Linked List - developing algorithm of various methods and then implementing them using C programming How to estimate time complexity of any algorithm. Big Oh, Big Omega and Big Theta notations. Recursion, concept of Tail recursion, Recursion Vs Iteration. Binary Tree, definition, traversal (in-order, pre-order and post-order), binary search tree, implementation. Heap - concept, definition, almost complete binary tree, insertion into heap, heap adjust, deletion, heapify and heap sort. Show more Show less Curated for the Udemy Business collection Course content 15 sections • 125 lectures • 15h 42m total length Expand all sections Introduction to the course. 1 lecture • 4min Introduction to the course. Preview 04:25 All about Stack 10 lectures • 54min Introduction of Stack 02:47 Basic understanding of Stack. 4 questions Some practical example where Stack is used. 03:52 Basic Algorithm for Stack data structure. Preview 07:06 Test your understanding on Stack operations 3 questions Implementation of Stack. 07:16 Some more explanations about the use of Pointers 02:24 Building a menu for the implementation. 03:28 Make the Stack dynamic. 06:10 Make the stack more dynamic. 05:16 Stack In Action - Decimal to binary conversion Preview 08:38 Stack In Action - Reversing the content of a text file. 07:20 Step-by-step developing a parenthesis checking program using Stack. 5 lectures • 47min Understanding the problem. 10:55 Developing the algorithm for bracket checking. 08:52 The explanation of the algorithm that we develop for parenthesis checking. 13:25 Implementation of parenthesis checking program - Part 1 05:55 Implementation of parenthesis checking program - Part 2 08:17 Polish notation and Reverse Polish Notation. 13 lectures • 2hr 9min Introduction to Polish Notation Preview 06:42 Polish Notations 4 questions Understanding precedence of operators, conversion idea - infix to prefix/postfix 11:30 Polish Notations, converting infix to prefix or postfix. 4 questions How to evaluate Polish or Reverse Polish Notations. 08:40 Algorithm for evaluating Postfix expression. 06:56 Evaluating prefix and postfix expression 2 questions Implementing evaluation of Postfix expression with C Programming language. 11:19 Discussion on how to convert Infix to Postfix. 17:14 Infix to Postfix conversion - More examples with procedure 17:20 Elaboration of the procedure that converts infix to postfix. 03:14 Writing the algorithm for converting Infix expression to equivalent Postfix. 06:38 Converting infix to postfix - the precedence checking 3 questions Dry running the Algorithm for converting Infix to Postfix. 15:43 Starting the implementation, lets first develop the precedence checker function. Preview 08:42 Writing the C function for converting Infix to Postfix. 13:22 Combine the conversion and evaluation function in a single program. 01:42 All about Queue 16 lectures • 1hr 26min Introduction to Queue 06:04 Basic understanding of Queue 2 questions The FIFO queue implementation idea using Array - Understanding with animation. 02:13 Algorithm for FIFO Queue. 04:37 FIFO Queue Algorithm understanding 2 questions Dry run the FIFO queue algorithm. 06:43 Implementation of FIFO Queue. 06:59 Stack and Queue operations 1 question A menu for the Queue program. 03:18 The loophole in our implementation of FIFO Queue. 03:16 Understanding the loophole, why that happened? 05:21 Flaw in the implementation of FIFO Queue 3 questions Introduction to Circular Queue. 03:41 Circular queue operations. How to perform enqueue and dequeue operations. 09:01 Moving rear and front in Circular Queue 3 questions Algorithm for Circular Queue operations. 04:15 Dry run Circular Queue operations using the algorithm. 2 questions Implementation of Circular Queue. 05:06 Introduction to Double Ended Queue 04:54 Algorithm development for Double Ended Queue operations. 04:31 Dry run of the DEQ algorithm. 06:50 Implementation of Double Ended Queue. 08:55 Linked List 3 lectures • 15min Introduction to Linked List. 07:31 Definition of Linked List, conception of Node, understanding basic terminologies Preview 05:07 Categories of Linked List - Singly, Doubly and Circular Linked List. 02:04 LinkedList Introduction 9 questions Singly Linked List 18 lectures • 2hr 21min Understanding the 'struct' type we need for implementing singly linked list. 02:34 The Singly Linked List operations - starting the program. Preview 05:48 Developing Insert At Tail operation - Add a new node as last node. 08:35 Implementing Insert at Head - Add a new node as the first node. 10:04 Traversing the linked list - printing the content of each node. 09:00 Printing the detail of each node of the linked list. 04:14 Compiling and executing the program written so far. 08:05 Practice for Singly Linked List 00:48 Developing find operation - to search for a target in the linked list. 03:29 Load data from file and build the linked list. 09:18 Creating Linked List from randomly generated integer numbers. 06:07 Delete first operation to delete the first node. 07:39 Delete last operation to delete the last node. 09:53 Delete a node that contain a target data. 22:55 Reverse the linked list. 09:35 Traverse the singly linked list recursively. 07:56 Implementation of Stack using singly linked list. 07:41 Implementation of Queue using Linked List 07:05 Doubly Linked List 7 lectures • 1hr 17min Introduction to Doubly Linked List. 02:07 Starting the program to implement various operations for Doubly Linked List. 08:37 Implementation of Add First method to add a new node as the first node. 12:06 AddLast implementation to add a new node as the last node. 13:13 Find and Insert After and Insert Before operation. 16:41 Deleting a node - delete first, delete last and delete a target. 16:11 Double Ended Queue using doubly linked list. 07:38 Circular Linked List. 4 lectures • 22min Introduction to Circular Linked List. 02:55 Insert operation for Circular Linked List. 07:15 Delete Node operation. 05:11 Developing find and print operation. 06:35 Efficiency of Algorithm 8 lectures • 50min Efficiency of Algorithm - Introduction to the concept. 05:32 Mathematical Approach for estimating the efficiency. 03:21 Big-Oh notation - estimating worst case complexity. 05:39 How to calculate Big-Oh for a given algorithm explanation with example. 07:06 Big-Oh continue. 08:40 Some more example on calculating Big-Oh 06:36 Idea of Best case complexity - Big Omega notation. 07:51 Idea of Average case complexity - Big theta notation. 05:07 5 more sections Requirements Student should be conversant with basic C programming. Description You will learn the following in this course: (All implemented using C programming) Fundamental of Data Structure concept Why we need Data Structures Stack - Idea, definition, algorithm, implementations. Using Stack - Parenthesis checking, Polish Notation, Infix to postfix conversion and evaluation. FIFO Queue - Idea, definition, algorithm, implementation. Circular Queue using array - Idea, definition, algorithm, implementation. Double ended queue using array - Idea, definition, algorithm, implementation. Linked List - Idea, definition, why we need linked list. Comparison with array. Singly Linked List - Development of algorithm for various operations and then Implementation of each of them Creating Stack and Queue using Singly Linked list - Implementation. Doubly Linked List - Idea, definition, algorithm of various operations and implementations. Circular Linked List - Idea, definition, algorithm and implementations. 14. Calculating efficiency of algorithms, Worst Case (Big Oh), Average Case (Big Theta) and Best case (Big omega) complexities. How to calculate them for different algorithms. 15. Binary Searching 16. Recursion in detail. Example program using recursion and the critical comparison between Recursive approach and Iterative approach of problem solving. 17. Binary Tree, definition, traversal (In, Pre and Post Order), Binary Search Tree implementation. 18. Heap data structure, definition, heap insertion, deletion, heap adjust, Heapify and heap sort. Who this course is for: Students who want to prepare themselve for interview of top companies like Google, Amazon or Microsoft. Students who are looking forward to be an efficient programmer, who are having data structures in their syllabus. Students who wants to have in dept knowledge about the Stack, Queue and Linked List, Efficiency of Algorithm, Binary Tree, Heap Show more Show less Featured review Elliander Eldridge 101 courses 2 reviews Rating: 5.0 out of 5 5 months ago I'm taking this course to supplement computer science classes at a university. Typically, I have to write programs I am never taught how to write because the university is only concerned with getting me to "think programmatically" so courses like this are extremely helpful in filling in my gaps in understanding. Right now, stacks, queues, and working with pointers in general is where I struggle and so far at least this course has been explaining things very well. Show more Show less Instructor Shibaji Paul Programming Instructor with 16+ years of experience 4.4 Instructor Rating 4,588 Reviews 26,365 Students 7 Courses Hi, I have been teaching computer science and programming since 2001. I did my M Tech in Computer Science and remained visiting faculty to the CSE department of Narula Institute of Technology. I have my own training institute where I provide training on various programming languages and technologies to the B Tech students on C, C++, Java, Android programming, Data structure and Algorithm, DBMS, SQL and PL/SQL. In my class room I usually teach 100-150 students per semester on different subjects. With the udemy platform now it is possible to teach and spread my knowledge to thousands (may be more)of students across the globe, Udemy opens up vast opportunity for instructor like me and that with remuneration. I guess it's going to be a fantastic. When I am not taking class I enjoy learning some new technologies. In my leisure time one could find me enjoying with my kids or gossiping with my beautiful wife over a container of tea. I am a "tea-totaller" (guess the meaning :) ) and hate smoking. I have a definite plan to launch an online course on topic "How to drink tea - the best way" on udemy for sure and also on "How to quit smoking - the best way" . Let's hope for the best, happy learning. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677789876b5f004a',m:'e30fb83379186588f2f04dfa82b452ca22b667c2-1627741960-1800-AcbE3uBq72m9ExRYUpIpJVfNDwxPBhS9Sxd6Ak26NjuXsS28PWZMqACGnNpf1wSYijyk6239TDspSWU6yIwCZ2L03S8p/VBMWQi3UD+OaqfvoLf3ia9ScUVsq03t4T/B+pJYtoVUWZZJTKqA246V0LFSTRbcI3a/9qUQKCgF8Zs8',s:[0xa235d01cea,0x54c6a48d38],}})();
  4. Using Stack - Understanding Polish notations, algorithm and implementation of infix to postfix conversion and evaluation of postfix expression What is a FIFO Queue, understanding Queue operations - Insert and delete, implementing FIFO Queue Limitations of FIFO queue, concept of Circular Queue - Implementation of Circular queue. Concept of Double ended queue, logic development and implementation of double ended queue. Concept of Linked List - definition, why we need linked list. Singly Linked List - developing algorithms for various methods and then implementing them using C programming Doubly Linked List - developing algorithm of various methods and then implementing them using C programming Circular Linked List - developing algorithm of various methods and then implementing them using C programming How to estimate time complexity of any algorithm. Big Oh, Big Omega and Big Theta notations. Recursion, concept of Tail recursion, Recursion Vs Iteration. Binary Tree, definition, traversal (in-order, pre-order and post-order), binary search tree, implementation. Heap - concept, definition, almost complete binary tree, insertion into heap, heap adjust, deletion, heapify and heap sort. Show more Show less Curated for the Udemy Business collection Course content 15 sections • 125 lectures • 15h 42m total length Expand all sections Introduction to the course. 1 lecture • 4min Introduction to the course. Preview 04:25 All about Stack 10 lectures • 54min Introduction of Stack 02:47 Basic understanding of Stack. 4 questions Some practical example where Stack is used. 03:52 Basic Algorithm for Stack data structure. Preview 07:06 Test your understanding on Stack operations 3 questions Implementation of Stack. 07:16 Some more explanations about the use of Pointers 02:24 Building a menu for the implementation. 03:28 Make the Stack dynamic. 06:10 Make the stack more dynamic. 05:16 Stack In Action - Decimal to binary conversion Preview 08:38 Stack In Action - Reversing the content of a text file. 07:20 Step-by-step developing a parenthesis checking program using Stack. 5 lectures • 47min Understanding the problem. 10:55 Developing the algorithm for bracket checking. 08:52 The explanation of the algorithm that we develop for parenthesis checking. 13:25 Implementation of parenthesis checking program - Part 1 05:55 Implementation of parenthesis checking program - Part 2 08:17 Polish notation and Reverse Polish Notation. 13 lectures • 2hr 9min Introduction to Polish Notation Preview 06:42 Polish Notations 4 questions Understanding precedence of operators, conversion idea - infix to prefix/postfix 11:30 Polish Notations, converting infix to prefix or postfix. 4 questions How to evaluate Polish or Reverse Polish Notations. 08:40 Algorithm for evaluating Postfix expression. 06:56 Evaluating prefix and postfix expression 2 questions Implementing evaluation of Postfix expression with C Programming language. 11:19 Discussion on how to convert Infix to Postfix. 17:14 Infix to Postfix conversion - More examples with procedure 17:20 Elaboration of the procedure that converts infix to postfix. 03:14 Writing the algorithm for converting Infix expression to equivalent Postfix. 06:38 Converting infix to postfix - the precedence checking 3 questions Dry running the Algorithm for converting Infix to Postfix. 15:43 Starting the implementation, lets first develop the precedence checker function. Preview 08:42 Writing the C function for converting Infix to Postfix. 13:22 Combine the conversion and evaluation function in a single program. 01:42 All about Queue 16 lectures • 1hr 26min Introduction to Queue 06:04 Basic understanding of Queue 2 questions The FIFO queue implementation idea using Array - Understanding with animation. 02:13 Algorithm for FIFO Queue. 04:37 FIFO Queue Algorithm understanding 2 questions Dry run the FIFO queue algorithm. 06:43 Implementation of FIFO Queue. 06:59 Stack and Queue operations 1 question A menu for the Queue program. 03:18 The loophole in our implementation of FIFO Queue. 03:16 Understanding the loophole, why that happened? 05:21 Flaw in the implementation of FIFO Queue 3 questions Introduction to Circular Queue. 03:41 Circular queue operations. How to perform enqueue and dequeue operations. 09:01 Moving rear and front in Circular Queue 3 questions Algorithm for Circular Queue operations. 04:15 Dry run Circular Queue operations using the algorithm. 2 questions Implementation of Circular Queue. 05:06 Introduction to Double Ended Queue 04:54 Algorithm development for Double Ended Queue operations. 04:31 Dry run of the DEQ algorithm. 06:50 Implementation of Double Ended Queue. 08:55 Linked List 3 lectures • 15min Introduction to Linked List. 07:31 Definition of Linked List, conception of Node, understanding basic terminologies Preview 05:07 Categories of Linked List - Singly, Doubly and Circular Linked List. 02:04 LinkedList Introduction 9 questions Singly Linked List 18 lectures • 2hr 21min Understanding the 'struct' type we need for implementing singly linked list. 02:34 The Singly Linked List operations - starting the program. Preview 05:48 Developing Insert At Tail operation - Add a new node as last node. 08:35 Implementing Insert at Head - Add a new node as the first node. 10:04 Traversing the linked list - printing the content of each node. 09:00 Printing the detail of each node of the linked list. 04:14 Compiling and executing the program written so far. 08:05 Practice for Singly Linked List 00:48 Developing find operation - to search for a target in the linked list. 03:29 Load data from file and build the linked list. 09:18 Creating Linked List from randomly generated integer numbers. 06:07 Delete first operation to delete the first node. 07:39 Delete last operation to delete the last node. 09:53 Delete a node that contain a target data. 22:55 Reverse the linked list. 09:35 Traverse the singly linked list recursively. 07:56 Implementation of Stack using singly linked list. 07:41 Implementation of Queue using Linked List 07:05 Doubly Linked List 7 lectures • 1hr 17min Introduction to Doubly Linked List. 02:07 Starting the program to implement various operations for Doubly Linked List. 08:37 Implementation of Add First method to add a new node as the first node. 12:06 AddLast implementation to add a new node as the last node. 13:13 Find and Insert After and Insert Before operation. 16:41 Deleting a node - delete first, delete last and delete a target. 16:11 Double Ended Queue using doubly linked list. 07:38 Circular Linked List. 4 lectures • 22min Introduction to Circular Linked List. 02:55 Insert operation for Circular Linked List. 07:15 Delete Node operation. 05:11 Developing find and print operation. 06:35 Efficiency of Algorithm 8 lectures • 50min Efficiency of Algorithm - Introduction to the concept. 05:32 Mathematical Approach for estimating the efficiency. 03:21 Big-Oh notation - estimating worst case complexity. 05:39 How to calculate Big-Oh for a given algorithm explanation with example. 07:06 Big-Oh continue. 08:40 Some more example on calculating Big-Oh 06:36 Idea of Best case complexity - Big Omega notation. 07:51 Idea of Average case complexity - Big theta notation. 05:07 5 more sections Requirements Student should be conversant with basic C programming. Description You will learn the following in this course: (All implemented using C programming) Fundamental of Data Structure concept Why we need Data Structures Stack - Idea, definition, algorithm, implementations. Using Stack - Parenthesis checking, Polish Notation, Infix to postfix conversion and evaluation. FIFO Queue - Idea, definition, algorithm, implementation. Circular Queue using array - Idea, definition, algorithm, implementation. Double ended queue using array - Idea, definition, algorithm, implementation. Linked List - Idea, definition, why we need linked list. Comparison with array. Singly Linked List - Development of algorithm for various operations and then Implementation of each of them Creating Stack and Queue using Singly Linked list - Implementation. Doubly Linked List - Idea, definition, algorithm of various operations and implementations. Circular Linked List - Idea, definition, algorithm and implementations. 14. Calculating efficiency of algorithms, Worst Case (Big Oh), Average Case (Big Theta) and Best case (Big omega) complexities. How to calculate them for different algorithms. 15. Binary Searching 16. Recursion in detail. Example program using recursion and the critical comparison between Recursive approach and Iterative approach of problem solving. 17. Binary Tree, definition, traversal (In, Pre and Post Order), Binary Search Tree implementation. 18. Heap data structure, definition, heap insertion, deletion, heap adjust, Heapify and heap sort. Who this course is for: Students who want to prepare themselve for interview of top companies like Google, Amazon or Microsoft. Students who are looking forward to be an efficient programmer, who are having data structures in their syllabus. Students who wants to have in dept knowledge about the Stack, Queue and Linked List, Efficiency of Algorithm, Binary Tree, Heap Show more Show less Featured review Elliander Eldridge 101 courses 2 reviews Rating: 5.0 out of 5 5 months ago I'm taking this course to supplement computer science classes at a university. Typically, I have to write programs I am never taught how to write because the university is only concerned with getting me to "think programmatically" so courses like this are extremely helpful in filling in my gaps in understanding. Right now, stacks, queues, and working with pointers in general is where I struggle and so far at least this course has been explaining things very well. Show more Show less Instructor Shibaji Paul Programming Instructor with 16+ years of experience 4.4 Instructor Rating 4,588 Reviews 26,365 Students 7 Courses Hi, I have been teaching computer science and programming since 2001. I did my M Tech in Computer Science and remained visiting faculty to the CSE department of Narula Institute of Technology. I have my own training institute where I provide training on various programming languages and technologies to the B Tech students on C, C++, Java, Android programming, Data structure and Algorithm, DBMS, SQL and PL/SQL. In my class room I usually teach 100-150 students per semester on different subjects. With the udemy platform now it is possible to teach and spread my knowledge to thousands (may be more)of students across the globe, Udemy opens up vast opportunity for instructor like me and that with remuneration. I guess it's going to be a fantastic. When I am not taking class I enjoy learning some new technologies. In my leisure time one could find me enjoying with my kids or gossiping with my beautiful wife over a container of tea. I am a "tea-totaller" (guess the meaning :) ) and hate smoking. I have a definite plan to launch an online course on topic "How to drink tea - the best way" on udemy for sure and also on "How to quit smoking - the best way" . Let's hope for the best, happy learning. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677789876b5f004a',m:'e30fb83379186588f2f04dfa82b452ca22b667c2-1627741960-1800-AcbE3uBq72m9ExRYUpIpJVfNDwxPBhS9Sxd6Ak26NjuXsS28PWZMqACGnNpf1wSYijyk6239TDspSWU6yIwCZ2L03S8p/VBMWQi3UD+OaqfvoLf3ia9ScUVsq03t4T/B+pJYtoVUWZZJTKqA246V0LFSTRbcI3a/9qUQKCgF8Zs8',s:[0xa235d01cea,0x54c6a48d38],}})();
  5. What is a FIFO Queue, understanding Queue operations - Insert and delete, implementing FIFO Queue Limitations of FIFO queue, concept of Circular Queue - Implementation of Circular queue. Concept of Double ended queue, logic development and implementation of double ended queue. Concept of Linked List - definition, why we need linked list. Singly Linked List - developing algorithms for various methods and then implementing them using C programming Doubly Linked List - developing algorithm of various methods and then implementing them using C programming Circular Linked List - developing algorithm of various methods and then implementing them using C programming How to estimate time complexity of any algorithm. Big Oh, Big Omega and Big Theta notations. Recursion, concept of Tail recursion, Recursion Vs Iteration. Binary Tree, definition, traversal (in-order, pre-order and post-order), binary search tree, implementation. Heap - concept, definition, almost complete binary tree, insertion into heap, heap adjust, deletion, heapify and heap sort. Show more Show less Curated for the Udemy Business collection Course content 15 sections • 125 lectures • 15h 42m total length Expand all sections Introduction to the course. 1 lecture • 4min Introduction to the course. Preview 04:25 All about Stack 10 lectures • 54min Introduction of Stack 02:47 Basic understanding of Stack. 4 questions Some practical example where Stack is used. 03:52 Basic Algorithm for Stack data structure. Preview 07:06 Test your understanding on Stack operations 3 questions Implementation of Stack. 07:16 Some more explanations about the use of Pointers 02:24 Building a menu for the implementation. 03:28 Make the Stack dynamic. 06:10 Make the stack more dynamic. 05:16 Stack In Action - Decimal to binary conversion Preview 08:38 Stack In Action - Reversing the content of a text file. 07:20 Step-by-step developing a parenthesis checking program using Stack. 5 lectures • 47min Understanding the problem. 10:55 Developing the algorithm for bracket checking. 08:52 The explanation of the algorithm that we develop for parenthesis checking. 13:25 Implementation of parenthesis checking program - Part 1 05:55 Implementation of parenthesis checking program - Part 2 08:17 Polish notation and Reverse Polish Notation. 13 lectures • 2hr 9min Introduction to Polish Notation Preview 06:42 Polish Notations 4 questions Understanding precedence of operators, conversion idea - infix to prefix/postfix 11:30 Polish Notations, converting infix to prefix or postfix. 4 questions How to evaluate Polish or Reverse Polish Notations. 08:40 Algorithm for evaluating Postfix expression. 06:56 Evaluating prefix and postfix expression 2 questions Implementing evaluation of Postfix expression with C Programming language. 11:19 Discussion on how to convert Infix to Postfix. 17:14 Infix to Postfix conversion - More examples with procedure 17:20 Elaboration of the procedure that converts infix to postfix. 03:14 Writing the algorithm for converting Infix expression to equivalent Postfix. 06:38 Converting infix to postfix - the precedence checking 3 questions Dry running the Algorithm for converting Infix to Postfix. 15:43 Starting the implementation, lets first develop the precedence checker function. Preview 08:42 Writing the C function for converting Infix to Postfix. 13:22 Combine the conversion and evaluation function in a single program. 01:42 All about Queue 16 lectures • 1hr 26min Introduction to Queue 06:04 Basic understanding of Queue 2 questions The FIFO queue implementation idea using Array - Understanding with animation. 02:13 Algorithm for FIFO Queue. 04:37 FIFO Queue Algorithm understanding 2 questions Dry run the FIFO queue algorithm. 06:43 Implementation of FIFO Queue. 06:59 Stack and Queue operations 1 question A menu for the Queue program. 03:18 The loophole in our implementation of FIFO Queue. 03:16 Understanding the loophole, why that happened? 05:21 Flaw in the implementation of FIFO Queue 3 questions Introduction to Circular Queue. 03:41 Circular queue operations. How to perform enqueue and dequeue operations. 09:01 Moving rear and front in Circular Queue 3 questions Algorithm for Circular Queue operations. 04:15 Dry run Circular Queue operations using the algorithm. 2 questions Implementation of Circular Queue. 05:06 Introduction to Double Ended Queue 04:54 Algorithm development for Double Ended Queue operations. 04:31 Dry run of the DEQ algorithm. 06:50 Implementation of Double Ended Queue. 08:55 Linked List 3 lectures • 15min Introduction to Linked List. 07:31 Definition of Linked List, conception of Node, understanding basic terminologies Preview 05:07 Categories of Linked List - Singly, Doubly and Circular Linked List. 02:04 LinkedList Introduction 9 questions Singly Linked List 18 lectures • 2hr 21min Understanding the 'struct' type we need for implementing singly linked list. 02:34 The Singly Linked List operations - starting the program. Preview 05:48 Developing Insert At Tail operation - Add a new node as last node. 08:35 Implementing Insert at Head - Add a new node as the first node. 10:04 Traversing the linked list - printing the content of each node. 09:00 Printing the detail of each node of the linked list. 04:14 Compiling and executing the program written so far. 08:05 Practice for Singly Linked List 00:48 Developing find operation - to search for a target in the linked list. 03:29 Load data from file and build the linked list. 09:18 Creating Linked List from randomly generated integer numbers. 06:07 Delete first operation to delete the first node. 07:39 Delete last operation to delete the last node. 09:53 Delete a node that contain a target data. 22:55 Reverse the linked list. 09:35 Traverse the singly linked list recursively. 07:56 Implementation of Stack using singly linked list. 07:41 Implementation of Queue using Linked List 07:05 Doubly Linked List 7 lectures • 1hr 17min Introduction to Doubly Linked List. 02:07 Starting the program to implement various operations for Doubly Linked List. 08:37 Implementation of Add First method to add a new node as the first node. 12:06 AddLast implementation to add a new node as the last node. 13:13 Find and Insert After and Insert Before operation. 16:41 Deleting a node - delete first, delete last and delete a target. 16:11 Double Ended Queue using doubly linked list. 07:38 Circular Linked List. 4 lectures • 22min Introduction to Circular Linked List. 02:55 Insert operation for Circular Linked List. 07:15 Delete Node operation. 05:11 Developing find and print operation. 06:35 Efficiency of Algorithm 8 lectures • 50min Efficiency of Algorithm - Introduction to the concept. 05:32 Mathematical Approach for estimating the efficiency. 03:21 Big-Oh notation - estimating worst case complexity. 05:39 How to calculate Big-Oh for a given algorithm explanation with example. 07:06 Big-Oh continue. 08:40 Some more example on calculating Big-Oh 06:36 Idea of Best case complexity - Big Omega notation. 07:51 Idea of Average case complexity - Big theta notation. 05:07 5 more sections Requirements Student should be conversant with basic C programming. Description You will learn the following in this course: (All implemented using C programming) Fundamental of Data Structure concept Why we need Data Structures Stack - Idea, definition, algorithm, implementations. Using Stack - Parenthesis checking, Polish Notation, Infix to postfix conversion and evaluation. FIFO Queue - Idea, definition, algorithm, implementation. Circular Queue using array - Idea, definition, algorithm, implementation. Double ended queue using array - Idea, definition, algorithm, implementation. Linked List - Idea, definition, why we need linked list. Comparison with array. Singly Linked List - Development of algorithm for various operations and then Implementation of each of them Creating Stack and Queue using Singly Linked list - Implementation. Doubly Linked List - Idea, definition, algorithm of various operations and implementations. Circular Linked List - Idea, definition, algorithm and implementations. 14. Calculating efficiency of algorithms, Worst Case (Big Oh), Average Case (Big Theta) and Best case (Big omega) complexities. How to calculate them for different algorithms. 15. Binary Searching 16. Recursion in detail. Example program using recursion and the critical comparison between Recursive approach and Iterative approach of problem solving. 17. Binary Tree, definition, traversal (In, Pre and Post Order), Binary Search Tree implementation. 18. Heap data structure, definition, heap insertion, deletion, heap adjust, Heapify and heap sort. Who this course is for: Students who want to prepare themselve for interview of top companies like Google, Amazon or Microsoft. Students who are looking forward to be an efficient programmer, who are having data structures in their syllabus. Students who wants to have in dept knowledge about the Stack, Queue and Linked List, Efficiency of Algorithm, Binary Tree, Heap Show more Show less Featured review Elliander Eldridge 101 courses 2 reviews Rating: 5.0 out of 5 5 months ago I'm taking this course to supplement computer science classes at a university. Typically, I have to write programs I am never taught how to write because the university is only concerned with getting me to "think programmatically" so courses like this are extremely helpful in filling in my gaps in understanding. Right now, stacks, queues, and working with pointers in general is where I struggle and so far at least this course has been explaining things very well. Show more Show less Instructor Shibaji Paul Programming Instructor with 16+ years of experience 4.4 Instructor Rating 4,588 Reviews 26,365 Students 7 Courses Hi, I have been teaching computer science and programming since 2001. I did my M Tech in Computer Science and remained visiting faculty to the CSE department of Narula Institute of Technology. I have my own training institute where I provide training on various programming languages and technologies to the B Tech students on C, C++, Java, Android programming, Data structure and Algorithm, DBMS, SQL and PL/SQL. In my class room I usually teach 100-150 students per semester on different subjects. With the udemy platform now it is possible to teach and spread my knowledge to thousands (may be more)of students across the globe, Udemy opens up vast opportunity for instructor like me and that with remuneration. I guess it's going to be a fantastic. When I am not taking class I enjoy learning some new technologies. In my leisure time one could find me enjoying with my kids or gossiping with my beautiful wife over a container of tea. I am a "tea-totaller" (guess the meaning :) ) and hate smoking. I have a definite plan to launch an online course on topic "How to drink tea - the best way" on udemy for sure and also on "How to quit smoking - the best way" . Let's hope for the best, happy learning. Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677789876b5f004a',m:'e30fb83379186588f2f04dfa82b452ca22b667c2-1627741960-1800-AcbE3uBq72m9ExRYUpIpJVfNDwxPBhS9Sxd6Ak26NjuXsS28PWZMqACGnNpf1wSYijyk6239TDspSWU6yIwCZ2L03S8p/VBMWQi3UD+OaqfvoLf3ia9ScUVsq03t4T/B+pJYtoVUWZZJTKqA246V0LFSTRbcI3a/9qUQKCgF8Zs8',s:[0xa235d01cea,0x54c6a48d38],}})();
  6. Limitations of FIFO queue, concept of Circular Queue - Implementation of Circular queue. Concept of Double ended queue, logic development and implementation of double ended queue. Concept of Linked List - definition, why we need linked list. Singly Linked List - developing algorithms for various methods and then implementing them using C programming Doubly Linked List - developing algorithm of various methods and then implementing them using C programming Circular Linked List - developing algorithm of various methods and then implementing them using C programming How to estimate time complexity of any algorithm. Big Oh, Big Omega and Big Theta notations. Recursion, concept of Tail recursion, Recursion Vs Iteration. Binary Tree, definition, traversal (in-order, pre-order and post-order), binary search tree, implementation. Heap - concept, definition, almost complete binary tree, insertion into heap, heap adjust, deletion, heapify and heap sort. Show more Show less Curated for the Udemy Business collection Course content 15 sections • 125 lectures • 15h 42m total length Expand all sections Introduction to the course. 1 lecture • 4min Introduction to the course. Preview 04:25 All about Stack 10 lectures • 54min Introduction of Stack 02:47 Basic understanding of Stack. 4 questions Some practical example where Stack is used. 03:52 Basic Algorithm for Stack data structure. Preview 07:06 Test your understanding on Stack operations 3 questions Implementation of Stack. 07:16 Some more explanations about the use of Pointers 02:24 Building a menu for the implementation. 03:28 Make the Stack dynamic. 06:10 Make the stack more dynamic. 05:16 Stack In Action - Decimal to binary conversion Preview 08:38 Stack In Action - Reversing the content of a text file. 07:20 Step-by-step developing a parenthesis checking program using Stack. 5 lectures • 47min Understanding the problem. 10:55 Developing the algorithm for bracket checking. 08:52 The explanation of the algorithm that we develop for parenthesis checking. 13:25 Implementation of parenthesis checking program - Part 1 05:55 Implementation of parenthesis checking program - Part 2 08:17 Polish notation and Reverse Polish Notation. 13 lectures • 2hr 9min Introduction to Polish Notation Preview 06:42 Polish Notations 4 questio