Learning PathBlogsPremiumLogin
Data Structures Learning Path

1. Array

Begin your learning journey with the most basic of all data structures

Show Index

2. Singly Linked List

Learn in-depth the most fundamental data structure in a programmer's life

Show Index

3. Doubly Linked List

Learn about the extension of the singly linked list that powers stacks and queues

Show Index

4. Hash Table

Learn how applications deal with key value mappings efficiently

Show Index

5. Stack

The data structure behind recursion, memory management and much more

Show Index

6. Queue

Learn about the data structure that powers CPU and disk scheduling algorithms

Show Index

7. Recursion

Take a deep dive into one of the most intuitive programming paradigm

Show Index

8. Backtracking

Learn about the ultimate recursive brute force technique

Show Index

9. Binary Tree

Learn all about the most critical data structure in computer science

Show Index

10. Binary Search Tree

Learn about the most critical search data structure in computer science

Show Index

11. Heap

Learn all how a tree can be used as a priority queue

Show Index

12. Graph

Learn about the most dynamic data structure in computer science

Show Index

13. Sorting

Learn all about algorithms to sort data blazingly fast

Show Index

14. Searching

Learn about the algorithms that speed up your searches exponentially

Show Index

15. Dynamic programming

Learn the most powerful optimization for recursive problems

Show Index

16. Bit manipulation

Learn about the fastest ways to manipulate data

Show Index

Stack

The data structure behind recursion, memory management and much more

18 Lessons
36 Problems
6 Patterns
10 Illustrations

What you will learn

Structure, representation and implementation of a stack

Fundamental operations and class design using arrays and linked list

Understand essential patterns behind common interview problems

Detailed code implementation and solution of all problems

Intuition through visual explanation of algorithms

Hands on practical experience in a setup free coding environment

Requirements

This is a complete course and assumes that you know nothing about stacks but are familiar with some basic foundational topics in any programming language.

  • Basic knowledge of programming in any language
  • Basic knowledge of functions and classes
  • Basic knowledge of memory management
  • You have completed the singly linked list course

Overview

Data structures are used extensively in software development and a stack is the most fundamental of all data structures. Irrespective of the language, framework, or system that you use, you will always be using a stack in some form or the other. 

Loading Image

Representation of a stack

Fundamentals

This course teaches you the fundamentals of a stack and how it works. It provides you with code implementations and detailed explanations of a stack and its operations in the most intuitive way. We go step by step to explore its various functions which will give you a deep insight into this awesome data structure. This will help you gain a thorough understanding of the most important data structure of all.

Problems Solving

This course is an interactive course with high-quality problems and is deeply focused on problem-solving. It bridges the gap between theoretical concepts and common interview problems by providing detailed explanations of the most common interview problems on a stack. This will help you gain confidence and understand how to convert your learning into action. By the end of the course, you will be pretty confident to solve any stack problem thrown at you.

Who this course is for

This course is an all-rounder course and targets a variety of audiences ranging from complete beginners to experienced programmers who want to take their knowledge to the next level. You will greatly benefit from this course if you identify yourself as one of the following

  • Non developers who want to start their journey to learn data structures
  • Developers who want to get deepest knowledge of stacks
  • Anyone interested in improving their problem solving skills
  • Anyone preparing for programming interviews

Course Contents

1. Introduction

0%
What's the problem?
A possible solution
Properties of stack
Supported operations

2. Array implementation

0%
Structure
Stack class
Size of the stack
Is stack empty
Top of the stack
Push an item onto the stack
Pop the item from the top of the stack
Design a stack using an array
Medium
Design two stacks in an array
Medium

3. Linked list implementation

0%
Structure
Stack class
Size of the stack
Is stack empty
Top of the stack
Push an item onto the stack
Pop the item form the top of the stack
Design a stack using a linked list
Medium

4. Pattern: Reversal

0%
Stack inversion
Easy
Reverse an array
Easy
Reverse the string
Easy
+2
Reverse word order
Medium
Stack inversion II
Medium
Recursively reverse a stack
Medium

5. Pattern: Min-Max stack

0%
Design a min stack
Easy
Design a max stack
Easy
Design a min stack II
Easy
Design a max stack II
Easy
Design a min stack III
Medium
Design a max stack III
Medium

6. Pattern: Closest occurrence

0%
Succeeding superior element
Easy
Preceding inferior element
Easy
Succeeding inferior element II
Medium
Preceding superior element II
Medium
Succeeding superior nodes
Medium

7. Pattern: Polish Notation

0%
Convert prefix to infix
Easy
Convert postfix to infix
Easy
Evaluate an infix expression
Hard
Convert prefix to postfix
Easy
Convert infix to postfix
Hard
+1
Evaluate a postfix expression
Medium
+1
Convert postfix to prefix
Easy
Convert infix to prefix
Hard
Evaluate a prefix expression
Medium
+1

8. Pattern: Sequence validation

0%
Parentheses checker
Easy
+4
Redundant parentheses
Medium

9. Pattern: Application

0%
String expansion
Medium
+2
Canonicalise path
Medium
+1
Retained rainwater
Hard
+2
Balanced span
Hard
Largest rectangle area
Hard
+2
Start Learning →

Annual

$60100% OFF

$0 / month

Limited Promotional Offer

Get Unlimited Access
Unlimited access
Code execution
Detailed solutions
Incremental Learning Path
High quality lessons

Completion Time: 4 hour
Difficulty: Medium
Level: Intermediate
Start Learning →

Stack

The data structure behind recursion, memory management and much more