From 4aad85c5a51aa26616a057f18dbf1951a01a4c86 Mon Sep 17 00:00:00 2001 From: Irfan Ansari Date: Fri, 4 Oct 2024 10:57:45 +0530 Subject: [PATCH 1/4] Added introduction to stack.md file --- docs/Stack/Introduction_to_Stack.md | 311 ++++++++++++++++++++++++++++ 1 file changed, 311 insertions(+) create mode 100644 docs/Stack/Introduction_to_Stack.md diff --git a/docs/Stack/Introduction_to_Stack.md b/docs/Stack/Introduction_to_Stack.md new file mode 100644 index 000000000..3b4555aae --- /dev/null +++ b/docs/Stack/Introduction_to_Stack.md @@ -0,0 +1,311 @@ +--- +id: introduction-to-stack +title: Stack Data Structure +sidebar_label: Stack +sidebar_position: 2 +description: 'A stack is a linear data structure that follows the Last In First Out (LIFO) principle. It allows operations to be performed at one end, called the top of the stack, making it efficient for scenarios such as expression evaluation, backtracking algorithms, and function call management.' +tags: [dsa, data-structures, Stack] +--- + +### Introduction to Stack + +A **stack** is a linear data structure that follows the Last In First Out (LIFO) principle. This means that the last element added to the stack will be the first one to be removed. Think of a stack of plates; you add plates to the top and also remove plates from the top. + +Stacks are widely used in various computing applications, including: + +- **Function Call Management**: Keeping track of active subroutines in programming languages. +- **Expression Evaluation**: Parsing expressions in compilers. +- **Backtracking Algorithms**: Navigating through potential paths in maze-solving or puzzle games. +- **Undo Mechanisms**: Implementing undo features in text editors and other applications. + +![alt text](Stack.png) + +### Stack Operations + +A stack typically supports the following operations: + +1. **Push**: Add an element to the top of the stack. +2. **Pop**: Remove the element from the top of the stack. +3. **Peek (Top)**: Retrieve the element at the top of the stack without removing it. +4. **isEmpty**: Check if the stack is empty. +5. **isFull**: Check if the stack is full (applicable for stacks with a fixed size). +6. **Size**: Get the number of elements in the stack. + +### Pseudocode + +#### Basic Operations + +1. **Push**: + + ```text + function push(stack, element): + if isFull(stack): + return "Stack Overflow" + stack.top = stack.top + 1 + stack.elements[stack.top] = element + ``` + +2. **Pop**: + + ```text + function pop(stack): + if isEmpty(stack): + return "Stack Underflow" + element = stack.elements[stack.top] + stack.top = stack.top - 1 + return element + ``` + +3. **Peek (Top)**: + + ```text + function peek(stack): + if isEmpty(stack): + return "Stack is empty" + return stack.elements[stack.top] + ``` + +4. **isEmpty**: + + ```text + function isEmpty(stack): + return stack.top == -1 + ``` + +5. **isFull**: + + ```text + function isFull(stack): + return stack.top == stack.size - 1 + ``` + +6. **Size**: + + ```text + function size(stack): + return stack.top + 1 + ``` + +### Implementation in Python, C++, and Java + +#### Python Implementation + +```python +class Stack: + def __init__(self, size): + self.size = size + self.elements = [None] * size + self.top = -1 + + def push(self, element): + if self.is_full(): + print("Stack Overflow") + return + self.top += 1 + self.elements[self.top] = element + + def pop(self): + if self.is_empty(): + print("Stack Underflow") + return None + element = self.elements[self.top] + self.top -= 1 + return element + + def peek(self): + if self.is_empty(): + print("Stack is empty") + return None + return self.elements[self.top] + + def is_empty(self): + return self.top == -1 + + def is_full(self): + return self.top == self.size - 1 + + def size_of_stack(self): + return self.top + 1 + +# Example usage +stack = Stack(5) +stack.push(10) +stack.push(20) +print(stack.pop()) # Output: 20 +print(stack.peek()) # Output: 10 +print(stack.is_empty()) # Output: False +print(stack.size_of_stack()) # Output: 1 +``` + +#### C++ Implementation + +```cpp +#include +using namespace std; + +class Stack { +private: + int *elements; + int top; + int size; + +public: + Stack(int size) { + this->size = size; + elements = new int[size]; + top = -1; + } + + void push(int element) { + if (is_full()) { + cout << "Stack Overflow" << endl; + return; + } + elements[++top] = element; + } + + int pop() { + if (is_empty()) { + cout << "Stack Underflow" << endl; + return -1; // Indicating underflow + } + return elements[top--]; + } + + int peek() { + if (is_empty()) { + cout << "Stack is empty" << endl; + return -1; // Indicating empty + } + return elements[top]; + } + + bool is_empty() { + return top == -1; + } + + bool is_full() { + return top == size - 1; + } + + int size_of_stack() { + return top + 1; + } + + ~Stack() { + delete[] elements; + } +}; + +// Example usage +int main() { + Stack stack(5); + stack.push(10); + stack.push(20); + cout << stack.pop() << endl; // Output: 20 + cout << stack.peek() << endl; // Output: 10 + cout << boolalpha << stack.is_empty() << endl; // Output: false + cout << stack.size_of_stack() << endl; // Output: 1 + return 0; +} +``` + +#### Java Implementation + +```java +public class Stack { + private int[] elements; + private int top; + private int size; + + public Stack(int size) { + this.size = size; + elements = new int[size]; + top = -1; + } + + public void push(int element) { + if (is_full()) { + System.out.println("Stack Overflow"); + return; + } + elements[++top] = element; + } + + public int pop() { + if (is_empty()) { + System.out.println("Stack Underflow"); + return -1; // Indicating underflow + } + return elements[top--]; + } + + public int peek() { + if (is_empty()) { + System.out.println("Stack is empty"); + return -1; // Indicating empty + } + return elements[top]; + } + + public boolean is_empty() { + return top == -1; + } + + public boolean is_full() { + return top == size - 1; + } + + public int size_of_stack() { + return top + 1; + } + + // Example usage + public static void main(String[] args) { + Stack stack = new Stack(5); + stack.push(10); + stack.push(20); + System.out.println(stack.pop()); // Output: 20 + System.out.println(stack.peek()); // Output: 10 + System.out.println(stack.is_empty()); // Output: false + System.out.println(stack.size_of_stack()); // Output: 1 + } +} +``` + +### Complexity + +- **Time Complexity**: + + - Push: $O(1)$ + - Pop: $O(1)$ + - Peek: $O(1)$ + - isEmpty: $O(1)$ + - isFull: $O(1)$ + - Size: $O(1)$ + +- **Space Complexity**: $O(n)$, where $n$ is the number of elements that can be stored in the stack. + +### Example + +Consider a stack with the following operations: + +1. Push 10 +2. Push 20 +3. Pop +4. Peek +5. Check if empty +6. Get size + +**Operations**: + +- **Push 10**: Stack becomes [10, _, _, _, _] +- **Push 20**: Stack becomes [10, 20, _, _, _] +- **Pop**: Removes 20, Stack becomes [10, _, _, _, _] +- **Peek**: Returns 10, Stack remains [10, _, _, _, _] +- **isEmpty**: Returns false +- **Size**: Returns 1 + +### Conclusion + +A stack is a fundamental data structure that is simple yet powerful, enabling efficient management of data with its LIFO behavior. It plays a critical role in various computing scenarios, such as managing function calls, parsing expressions, and implementing undo mechanisms. Understanding and implementing stacks is essential for solving a wide range of algorithmic problems and building efficient software systems. From 822cf3210c3cda50bbb8c336bddb6313ad718fc0 Mon Sep 17 00:00:00 2001 From: Irfan Ansari <71096605+IRFANSARI@users.noreply.github.com> Date: Fri, 4 Oct 2024 11:00:30 +0530 Subject: [PATCH 2/4] Add files via upload --- docs/Stack/Introduction_to_Stack.png | Bin 0 -> 50019 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/Stack/Introduction_to_Stack.png diff --git a/docs/Stack/Introduction_to_Stack.png b/docs/Stack/Introduction_to_Stack.png new file mode 100644 index 0000000000000000000000000000000000000000..a294a464f236534c3aa83f3824f68ff28fbdeb23 GIT binary patch literal 50019 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 N002ovPDHLkV1hN*1%Utn literal 0 HcmV?d00001 From 4fb8bf7a0d57079633d8610798caf726ff2022d4 Mon Sep 17 00:00:00 2001 From: Irfan Ansari <71096605+IRFANSARI@users.noreply.github.com> Date: Fri, 4 Oct 2024 11:01:27 +0530 Subject: [PATCH 3/4] Update Introduction_to_Stack.md --- docs/Stack/Introduction_to_Stack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Stack/Introduction_to_Stack.md b/docs/Stack/Introduction_to_Stack.md index 3b4555aae..6d2136ee7 100644 --- a/docs/Stack/Introduction_to_Stack.md +++ b/docs/Stack/Introduction_to_Stack.md @@ -18,7 +18,7 @@ Stacks are widely used in various computing applications, including: - **Backtracking Algorithms**: Navigating through potential paths in maze-solving or puzzle games. - **Undo Mechanisms**: Implementing undo features in text editors and other applications. -![alt text](Stack.png) +![alt text](Introduction_to_Stack.png) ### Stack Operations From 1916352dfbade3f8c4fef2bb526515a9c87eefa9 Mon Sep 17 00:00:00 2001 From: Irfan Ansari <71096605+IRFANSARI@users.noreply.github.com> Date: Fri, 4 Oct 2024 06:02:31 +0000 Subject: [PATCH 4/4] Fixed the sidebar label name --- docs/Stack/{Introduction_to_Stack.md => IntroductionToStack.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename docs/Stack/{Introduction_to_Stack.md => IntroductionToStack.md} (99%) diff --git a/docs/Stack/Introduction_to_Stack.md b/docs/Stack/IntroductionToStack.md similarity index 99% rename from docs/Stack/Introduction_to_Stack.md rename to docs/Stack/IntroductionToStack.md index 6d2136ee7..443210d9f 100644 --- a/docs/Stack/Introduction_to_Stack.md +++ b/docs/Stack/IntroductionToStack.md @@ -1,7 +1,7 @@ --- id: introduction-to-stack title: Stack Data Structure -sidebar_label: Stack +sidebar_label: Introduction to Stack sidebar_position: 2 description: 'A stack is a linear data structure that follows the Last In First Out (LIFO) principle. It allows operations to be performed at one end, called the top of the stack, making it efficient for scenarios such as expression evaluation, backtracking algorithms, and function call management.' tags: [dsa, data-structures, Stack]