Skip to content

Latest commit

 

History

History
59 lines (51 loc) · 5.17 KB

README.md

File metadata and controls

59 lines (51 loc) · 5.17 KB

Implementation of Stacks in C and operations

  1. Implementation of a stack using an array
  2. Implementation of a stack using a struct
  3. Implementation of a stack using a linked list (courtesy of Joel)

Applications of Stacks

  1. Converting infix expression to postfix expression
    1. Algorithm
    2. Code
  2. Postfix expression evaluation (courtesy of Joel)
  3. Checking if parentheses in expression are balanced with a stack

Recursion

  1. Factorial
  2. Binary Search
  3. GCD of two numbers
  4. Sum of integers in an array
  5. Product of two numbers
  6. Towers of Hanoi Code Recursion Tree for 3 disks
  7. Applications of Stack in Recursion

Implementation of a Queue

  1. Queue using an array and global variables (courtesy of Joel)
  2. Queue using an array and pointers
  3. Queue using a struct
  4. Implementation of a circular queue (courtesy of Joel)

Applications of a Queue

  1. Message Queue using Circular Queue
  2. Implementation of a priority queue (courtesy of Joel)

Linked Lists

Singly Linked List

  1. Ordered singly linked list
  2. Implementation of a stack using a linked list (courtesy of Joel)
  3. Reversing a Singly Linked List

Circular Singly Linked List

  1. Queue using CSLL

Doubly Linked List

  1. Sparse Matrix (courtesy of Joel)

Circular Doubly Linked List

  1. Multiplication of two polynomials using a Linked List (courtesy of Joel)

Trees

  1. Binary Search Trees with all operations
  2. AVL Trees (incomplete)
  3. Threaded Binary Trees: notes Code
  4. B-trees and B+ trees
  5. Splay Trees
  6. Tries
  1. Priority Queue using a Heap, also contains heapify function