commit 69dd12f94bf19135f32833ef1bdbbacf32f402a4
parent 9c06d74d0c2f3ab9e025f2b12a90a5af5e012a49
Author: Amit Dutta <mail@amit.is-a.dev>
Date: Fri, 7 Aug 2026 16:14:01 +0530
Merge pull request #25 from notamitgamer/edit-20260807-161336
more algo
Diffstat:
10 files changed, 207 insertions(+), 0 deletions(-)
diff --git a/semester_2/algorithms/algo_030.md b/semester_2/algorithms/algo_030.md
@@ -0,0 +1,17 @@
+# algo_030
+
+### Problem Statement
+
+> Write an algorithm to push to stack (Linked representation of stack)
+
+## Algorithm
+```
+procedure push(Stack, val)
+begin
+ ptr ← getNode();
+ info(ptr) ← val;
+ next(ptr) ← stack;
+ stack ← ptr;
+ return(stack);
+end procedure
+```+
\ No newline at end of file
diff --git a/semester_2/algorithms/algo_031.md b/semester_2/algorithms/algo_031.md
@@ -0,0 +1,20 @@
+# algo_031
+
+### Problem Statement
+
+> Write an algorithm to pop to stack (Linked representation of stack)
+
+## Algorithm
+```
+procedure pop(stack, val)
+begin
+ if(stack = NULL)
+ write("Empty");
+ else
+ ptr ← stack;
+ stack ← next(ptr);
+ delete(ptr);
+ return(stack);
+ endif
+end procedure
+```+
\ No newline at end of file
diff --git a/semester_2/algorithms/algo_032.md b/semester_2/algorithms/algo_032.md
@@ -0,0 +1,17 @@
+# algo_032
+
+### Problem Statement
+
+> Write an algorithm to check if queue is empty.
+
+## Algorithm
+```
+procedure isEmpty(front)
+begin
+ if(front = -1)
+ return tree;
+ else
+ return false;
+ endif
+end procedure
+```+
\ No newline at end of file
diff --git a/semester_2/algorithms/algo_033.md b/semester_2/algorithms/algo_033.md
@@ -0,0 +1,17 @@
+# algo_033
+
+### Problem Statement
+
+> Write an algorithm to check if queue is full.
+
+## Algorithm
+```
+procedure isFull(rear, Qmax)
+begin
+ if(rear = Qmax - 1)
+ return true;
+ else
+ return false;
+ endif
+end procedure
+```+
\ No newline at end of file
diff --git a/semester_2/algorithms/algo_034.md b/semester_2/algorithms/algo_034.md
@@ -0,0 +1,22 @@
+# algo_034
+
+### Problem Statement
+
+> Write an algorithm to enqueue.
+
+## Algorithm
+```
+procedure enqueue(rear, MAX, front, Q[], val)
+begin
+ if(rear = MAX - 1)
+ write("Queue full, insertion can't be done.");
+ else
+ if(front = -1)
+ front ← 0;
+ endif
+ rear ← rear + 1;
+ Q[rear] ← val;
+ write("Inserted element", val);
+ endif
+end procedure
+```+
\ No newline at end of file
diff --git a/semester_2/algorithms/algo_035.md b/semester_2/algorithms/algo_035.md
@@ -0,0 +1,23 @@
+# algo_035
+
+### Problem Statement
+
+> Write an algorithm to dequeue.
+
+## Algorithm
+```
+procedure dequeue(Q[], front, rear)
+begin
+ if(front = -1 || front > rear)
+ write("Queue empty, deletion can't be performed.");
+ else
+ val ← Q[front];
+ write("Deleted element", val);
+ front ← front + 1;
+ if(front > rear)
+ front ← -1;
+ rear ← -1;
+ endif
+ endif
+end procedure
+```+
\ No newline at end of file
diff --git a/semester_2/algorithms/algo_036.md b/semester_2/algorithms/algo_036.md
@@ -0,0 +1,17 @@
+# algo_36
+
+### Problem Statement
+
+> Write an algorithm to check if the queue is empty (Circular Queue)
+
+## Algorithm
+```
+procedure isEmpty(front)
+begin
+ if(front = -1)
+ return true;
+ else
+ return false;
+ endif
+end procedure
+```+
\ No newline at end of file
diff --git a/semester_2/algorithms/algo_037.md b/semester_2/algorithms/algo_037.md
@@ -0,0 +1,17 @@
+# algo_037
+
+### Problem Statement
+
+> Write an algorithm to check if the queue is full (Circular queue)
+
+## Algorithm
+```
+procedure ifFull(rear, Qsize, front)
+begin
+ if((rear + 1) % Qsize = front)
+ return true;
+ else
+ return false;
+ endif
+end procedure
+```+
\ No newline at end of file
diff --git a/semester_2/algorithms/algo_038.md b/semester_2/algorithms/algo_038.md
@@ -0,0 +1,22 @@
+# algo_038
+
+### Problem Statement
+
+> Write an algorithm to enqueue (circular queue)
+
+## Algorithm
+```
+procedure enqueue(rear, Qsize, front, Q[], val)
+begin
+ if((rear + 1) % Qsize = font)
+ write("Queue full, insertion can't be done.");
+ else
+ if(front = -1)
+ front ← 0;
+ endif
+ rear ← (rear + 1) % Qsize;
+ Q[rear] ← val;
+ write("Inserted element", val);
+ endif
+end procedure
+```+
\ No newline at end of file
diff --git a/semester_2/algorithms/algo_039.md b/semester_2/algorithms/algo_039.md
@@ -0,0 +1,25 @@
+# algo_039
+
+### Problem Statement
+
+> Write an algorithm to dequeue (circular queue)
+
+## Algorithm
+```
+procedure dequeue(Q[], front, rear)
+begin
+ if(front = -1)
+ write("Queue empty.");
+ else
+ rear ← Q[front];
+ write("Deleted element: ", val);
+ --------------------------------
+ | front ← (front + 1) % Qsize; |
+ | if(front > rear) | Vice Versa
+ | front ← -1; |
+ | rear ← -1; |
+ --------------------------------
+ endif
+ endif
+end procedure
+```+
\ No newline at end of file