Data Structures – Stack, Queue and LinkedList

Data Structures – Stack, Queue and LinkedList

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 9.5 Hours | 1.24 GB

Build strong fundamentals on programming by learning and developing Stack, Queue and Linked List operations from scratch

Learning a programming language is not the only thing that makes a good programmer, understanding the data structures and the knowledge to utilise the suitable data structure for solving a problem is vital parameter for a good programmer.

The primary aim for this course is to introduce and teach various operations of three fundamental data structures – Stack, Queue and Linked List, to the students who just have learned programming language. This course explains each of these data structures in detail along with the general operations (API) on them, how to build these data structure operations using algorithm and then how to implement those algorithm using C Programming language from the scratch. The course also contains explanation to various programming examples where these data structures could be used – a complete section has been added for processing Polish Notations which is an excellent example where Stack data structure is used.

This course exactly follows the standard syllabus of Data Structure for graduate level Computer Science course, therefore, going to be a great help for the students who are currently doing the same.

In all modern programming languages like Java, C#, C++, Python you will find these data structures are in-build in the native library of the language, however, building the APIs for the data structures from the scratch will definitely help you to understand them best instead of using them blindly, and that is the main purpose of this course.

Table of Contents

1 Introduction to the course

All about Stack
2 Introduction of Stack
3 Some practical example where Stack is used
4 Basic Algorithm for Stack data structure
5 Implementation of Stack
6 Some more explanations about the use of Pointers
7 Building a menu for the implementation
8 Make the Stack dynamic
9 Make the stack more dynamic
10 Stack In Action – Decimal to binary conversion
11 Stack In Action – Reversing the content of a text file

Step-by-step developing a parenthesis checking program using Stack
12 Understanding the problem
13 Developing the algorithm for bracket checking
14 The explanation of the algorithm that we develop for parenthesis checking
15 Implementation of parenthesis checking program – Part 1
16 Implementation of parenthesis checking program – Part 2

Polish notation and Reverse Polish Notation
17 Introduction to Polish Notation
18 Understanding precedence of operators conversion idea – infix to prefixpostfix
19 How to evaluate Polish or Reverse Polish Notations
20 Algorithm for evaluating Postfix expression
21 Implementing evaluation of Postfix expression with C Programming language
22 Discussion on how to convert Infix to Postfix
23 Infix to Postfix conversion – More examples with procedure
24 Elaboration of the procedure that converts infix to postfix
25 Writing the algorithm for converting Infix expression to equivalent Postfix
26 Dry running the Algorithm for converting Infix to Postfix
27 Staring the implementation lets first develop the precedence checker function
28 Writing the C function for converting Infix to Postfix
29 Combine the conversion and evaluation function in a single program

All about Queue
30 Introduction to Queue
31 The FIFO queue implementation idea using Array – Understanding with animation
32 Algorithm for FIFO Queue
33 Dry run the FIFO queue algorithm
34 Implementation of FIFO Queue
35 A menu for the Queue program
36 The loophole in our implementation of FIFO Queue
37 Understanding the loophole why that happened
38 Introduction to Circular Queue
39 Circular queue operations. How to perform enqueue and dequeue operations
40 Algorithm for Circular Queue operations
41 Implementation of Circular Queue
42 Introduction to Double Ended Queue
43 Algorithm development for Double Ended Queue operations
44 Dry run of the DEQ algorithm
45 Implementation of Double Ended Queue

All about Queue/quizzes
7 Basic understanding of Queue.html
8 FIFO Queue Algorithm understanding.html
9 Stack and Queue operations.html
10 Flaw in the implementation of FIFO Queue.html
11 Moving rear and front in Circular Queue.html
12 Dry run Circular Queue operations using the algorithm..html

Linked List
46 Introduction to Linked List
47 Definition of Linked List conception of Node understanding basic terminologies
48 Categories of Linked List – Singly Doubly and Circular Linked List

Singly Linked List
49 Understanding the struct type we need for implementing singly linked list
50 The Singly Linked List operations – starting the program
51 Developing Insert At Tail operation – Add a new node as last node
52 Implementing Insert at Head – Add a new node as the first node
53 Traversing the linked list – printing the content of each node
54 Printing the detail of each node of the linked list
55 Compiling and executing the program written so far
56 Practice for Singly Linked List.html
57 Developing find operation – to search for a target in the linked list
58 Load data from file and build the linked list
59 Creating Linked List from randomly generated integer numbers
60 Delete first operation to delete the first node
61 Delete last operation to delete the last node
62 Delete a node that contain a target data
63 Reverse the linked list
64 Traverse the singly linked list recursively
65 Implementation of Stack using singly linked list
66 Implementation of Queue using Linked List

Doubly Linked List
67 Introduction to Doubly Linked List
68 Starting the program to implement various operations for Doubly Linked List
69 Implementation of Add First method to add a new node as the first node
70 AddLast implementation to add a new node as the last node
71 Find and Insert After and Insert Before operation
72 Deleting a node – delete first delete last and delete a target
73 Double Ended Queue using doubly linked list

Circular Linked List
74 Introduction to Circular Linked List
75 Insert operation for Circular Linked List
76 Delete Node operation
77 Developing find and print operation