Welcome to the mystical world of Data Structures and Algorithms! ๐งโโ๏ธ This repository isn't just about code; it's a journey through enchanted forests of knowledge and the treasure chest of algorithms.
Prepare to embark on an epic quest to master fundamental topics in data structures and algorithms:
- ๐ฐ Introduction (Structure, Pointer, Dynamic Memory Allocation)
- ๐ Arrays
- ๐ชถ Linked Lists
- ๐งโโ๏ธ Stacks
- ๐งโโ๏ธ Queues
- ๐ฒ Trees
- ๐ Graphs
- ๐ช Sorting
- ๐ Searching
Each week, you'll explore a new realm of knowledge. Let's unveil the magical experiments you'll undertake:
- 1.1: Write a program to store student information and display it using structures and pointers.
- 1.2: Craft a program to store book data using dynamic memory allocation and conjure books by a particular author.
- 1.3: Write an incantation to calculate the length of a string using a pointer.
- 1.4: Perform a spell to find the smallest and largest elements in an array using dynamic memory allocation.
- 1.5: Create a potion to search for an element in an array using pointers and dynamic memory allocation.
- 2.1: Cast a spell to reverse the contents of a dynamic array.
- 2.2: Brew a potion to remove duplicate elements from an array.
- 2.3: Write a menu-driven program for array operations: traversal, insertion, deletion, and merging.
- 2.4: Weave magic to perform operations on an nXn matrix: count non-zero elements, row-wise and column-wise sums and averages.
- 3.1: Weave a tapestry to perform the transpose of a sparse matrix in 3-tuple format.
- 3.2: Conjure a fusion of two sparse matrices in 3-tuple format.
- 3.3: Create a charm to represent and add two polynomial equations using 1-D arrays.
- 4.1: Enter the realm of linked lists with a menu-driven program for various operations.
- 4.2: Dive deeper with double linked list operations.
- 5.1: Concoct a spell to represent a polynomial equation using a single linked list and perform addition of two polynomial equations.
- 5.2: Visualize the magic of representing a sparse matrix using a header single linked list and display it.
- 6.1: Craft a menu-driven program to demonstrate stack operations using arrays.
- 6.2: Delve deeper into the art of stack operations using linked lists.
- 6.3: Convert an infix expression into a postfix expression with a magical incantation.
- 6.4: Transform an infix expression into a prefix expression using your mystical powers.
- 7.1: Brew a potion to implement various queue operations with a menu-driven program.
- 7.2: Uncover the secrets of dequeue operations using linked lists.
- 7.3: Create a portal to implement circular queue operations using arrays.
- 7.4: Open a gateway to implement circular queue operations using linked lists.
- 8.1: Traverse the forest of binary search tree operations with a menu-driven program.
- 8.2: Create a binary search tree from a list of elements and display its enchanting properties.
- 9.1: Create an undirected graph using an adjacency matrix and unravel vertex degrees.
- 9.2: Extend your magic to display DFS traversal sequence.
- 9.3: Chart the course with a program to display BFS traversal sequence of an undirected graph.
- 10.1: Perform heap sort on an array in ascending order with a magical ritual.
- 10.2: Sort even and odd numbers in different orders with a unique enchantment.
- 10.3: Search for an element using linear search with your crystal ball.
- 10.4: Dive deep into the mystic realm of binary search for element discovery.
- 11.1: Perform a ritual to conduct heap sort on an array in ascending order.
- 11.2: Sort all even numbers in ascending order and all odd numbers in descending order using your mystical powers.
- 11.3: Search for an element using linear search with your magical staff.
- 11.4: Seek out elements using the ancient art of binary search.
- Review and revise all the enchanting labs and concepts covered throughout the course.
- Solve practice problem sets, recite incantations, and refer to ancient scrolls.
- Prepare for the final exam, including theory and practical aspects.
- Take the final exam and complete any additional assessments or assignments if required. Trust in your magic!
This magical to-do list outlines your journey through the enchanted realms of data structures and algorithms. Adjust your spellbook to ensure thorough understanding and emerge victorious in the final exam!
Your performance will be evaluated by the mystical council based on your magical deeds:
- Lab Record Evaluation: 10 enchanted crystals
- Quiz: 10 hidden scrolls
- Viva: 10 magical charms
- Program Execution: 20 wands
- Class Participation: 10 potions
- Program Execution: 20 ancient artifacts
- Program Approach: 10 ancient manuscripts
- Viva: 10 mystical runes
Continuous Evaluation: 60 magical artifacts End Semester Evaluation: 40 mystical runes
Dive deeper into the mystical arts with these reference materials:
-
Reference Books:
- "Data Structures" by Seymour Lipschutz (TATA McGraw Hill)
- "Data Structures using C" by Aaron M. Tenenbaum, Yedidyah Langsam, Moshe J. Augenstein (Pearson, 1st Edition)
- "Data Structures: A Pseudocode Approach with C" by Richard F. Gilberg, Behrouz Forouzan (CENGAGE Learning, India Edition)
- "Data Structures Using C" by Reema Thereja (Oxford University Press)
- "Data Structures and Algorithm Analysis in C" by Mark Allen Weiss (Pearson Education, 2nd Edition)
-
Reference Sites:
Feel the magic, embrace the knowledge, and embark on this mystical journey through the realms of data structures and algorithms. Good luck, brave wizard! ๐โจ๐งโโ๏ธ