Skip to content

Amey-Thakur/DATA-STRUCTURES-AND-DATA-STRUCTURES-LAB

Repository files navigation

University of Mumbai

Data Structures and Data Structures Lab

CSC305 & CSL303 · Semester III · Computer Engineering

License: CC BY 4.0 University Institution Curated by

A comprehensive academic resource for Data Structures (DS) and Data Structures Laboratory (DS Lab), covering fundamental data types, algorithms, analysis, and implementation techniques essential for computer engineering foundations.


Overview  ·  Contents  ·  Reference Books  ·  Personal Preparation  ·  Laboratory  ·  Question Papers  ·  Syllabus  ·  Usage Guidelines  ·  License  ·  About  ·  Acknowledgments


Overview

Data Structures (CSC305) and Data Structures Lab (CSL303) are core subjects in the Second Year (Semester III) of the Computer Engineering curriculum at the University of Mumbai. These courses establish the foundational understanding of organizing and managing data efficiently, which is crucial for developing high-performance algorithms and robust software systems.

Course Topics

The curriculum encompasses several key domains in data structure theory and application:

  • Introduction to Data Structures: Concept of ADT, types of data structures (linear and non-linear), and algorithm complexity analysis.
  • Arrays: Representation, operations (insertion, deletion, traversal), and multi-dimensional arrays.
  • Linked Lists: Singly linked lists, doubly linked lists, circular lists, and their applications.
  • Stacks and Queues: Implementation using arrays and linked lists, applications like expression parsing (infix/postfix), and priority queues.
  • Searching and Sorting: Linear search, binary search, and various sorting algorithms (Bubble, Insertion, Selection, Quick, Merge, Shell).
  • Trees: Binary trees, binary search trees (BST), AVL trees, and tree traversal techniques.
  • Graphs: Representation (adjacency matrix/list), traversal (BFS, DFS), and shortest path algorithms.
  • Hashing: Hash functions, collision resolution techniques, and applications.

Repository Purpose

This repository represents a curated collection of study materials, reference books, question papers, and personal preparation notes compiled during my academic journey. The primary motivation for creating and maintaining this archive is simple yet profound: to preserve knowledge for continuous learning and future reference.

As I progress in my career, I recognize that data structure fundamentals remain essential for software engineering, system design, and technical interviews. This repository serves as my intellectual reference point: a resource I can return to for relearning concepts, reviewing methodologies, and strengthening understanding when needed.

Why this repository exists:

  • Knowledge Preservation: To maintain organized access to comprehensive study materials beyond the classroom.
  • Continuous Learning: To support lifelong learning by enabling easy revisitation of fundamental data structure concepts.
  • Academic Documentation: To authentically document my learning journey through DS and DS Lab.
  • Community Contribution: To share these resources with students and learners who may benefit from them.

All materials in this repository were gathered, organized, and documented by me during my undergraduate studies (2018-2022) as part of my coursework and exam preparation.


Repository Contents

Reference Books

This collection includes comprehensive reference materials covering all major topics:

# Resource Focus Area
1 Data Structures Using C - Reema Thareja Standard textbook for C implementation
2 Introduction to Algorithms - Cormen Comprehensive algorithmic analysis
3 Data Structures Techmax Syllabus-oriented academic reference
4 Data Structures Notes Simplified concept notes
5 Data Structures by Dr. Subasish Mohapatra Advanced structural concepts
6 Data Structures programs Collection of implementation examples
7 DS Viva Preparation guide for oral examinations

Personal Preparation

Study materials and planning resources for effective exam preparation:

# Resource Description
1 Syllabus Breakdown Detailed module-wise syllabus notes
2 Module Planning Topic organization and study schedule
3 Semester Timetable Class schedule and planning
4 Examination Blueprint Question paper pattern and marking scheme

Data Structures Laboratory

The laboratory component (CSL303) focuses on hands-on implementation of various data structures and algorithms using C, providing practical experience in solving complex computational problems.

Total Programs Language Lab Manual

Live Demo DS Lab Portfolio

Tip

Live Implementation: For a comprehensive visual showcase, visit the DS Lab Portfolio Dashboard. For the complete source code and detailed documentation, visit the Data Structures Lab directory. Visualization is key. Always draw the state of your data structure (nodes, pointers, indices) on paper before and during code implementation.

Laboratory Experiments

# Category Programs Topics Covered Source Code
1 Arrays 4 Matrix operations, pair finding, statistical analysis View
2 Strings 3 Word reversal, character counting, replacement View
3 Linked Lists 7 Singly, doubly, circular lists, concatenation, traversal View
4 Stacks 8 Expression evaluation, infix/postfix/prefix conversion View
5 Queues 5 Circular, priority, deque, reversal operations View
6 Searching & Sorting 7 Binary search, bubble, insertion, merge, quick sort View

Program Details

Array Operations (4 Programs)
Program Description Code
matrix_addition.c Adds two 3x3 matrices using pointer arithmetic View
student_marks_analysis.c Analyzes student marks with subject/student averages View
find_pairs_sum.c Finds all pairs that sum to target value (50) View
array_sum_mean.c Calculates sum and mean of 2D array elements View
String Operations (3 Programs)
Program Description Code
reverse_words.c Reverses word order in a sentence View
count_characters.c Counts numbers, uppercase, lowercase, special chars View
replace_character.c Replaces all occurrences of a character View
Linked List Operations (7 Programs)
Program Description Code
singly_linked_list.c Basic operations: insert, delete, display View
doubly_linked_list.c Bidirectional traversal and operations View
circular_linked_list.c Circular list with wrap-around View
concatenate_linked_lists.c Merges two linked lists View
count_nonzero_nodes.c Counts nodes with non-zero values View
count_occurrences.c Counts occurrences of a value View
find_max_min.c Finds maximum and minimum values View
Stack Operations (8 Programs)
Program Description Code
evaluate_postfix_expression.c Evaluates postfix expressions using stack View
evaluate_postfix_simple.c Simple postfix evaluation (single digits) View
evaluate_prefix.c Evaluates prefix (Polish notation) expressions View
infix_to_postfix.c Converts infix to postfix with operator precedence View
infix_to_prefix.c Converts infix to prefix notation View
postfix_to_infix.c Converts postfix back to infix View
prefix_to_infix.c Converts prefix back to infix View
stack_using_linked_list.c Dynamic stack implementation View
Queue Operations (5 Programs)
Program Description Code
circular_queue.c Circular queue with wrap-around logic View
priority_queue.c Priority-based queue using linked list View
double_ended_queue.c Deque with sentinel nodes View
deque_both_ends.c Array-based deque operations View
`reverse_queue.c" Reverses queue using stack View
Searching & Sorting (7 Programs)
Program Algorithm Time Complexity Code
binary_search.c Binary Search O(log n) View
binary.c Binary Search (alt) O(log n) View
bubble_sort.c Bubble Sort O(n²) View
bubble.c Bubble Sort (alt) O(n²) View
insertion.c Insertion Sort O(n²) View
merge.c Merge Sort O(n log n) View
quick.c Quick Sort O(n log n) avg View

Laboratory Documentation

# Resource Description
1 Interactive Lab Portfolio Interactive dashboard with source code descriptions and visualizations
2 Laboratory Journal Complete record of experiments with code, outputs, and analysis
3 Lab README Detailed navigation guide with source code descriptions

Question Papers

University of Mumbai examination papers from 2017-2019 with complete solutions:

# Exam Session Question Paper Solutions
1 December 2017 Paper Solutions
2 May 2018 Paper Solutions
3 December 2018 Paper Solutions
4 May 2019 Paper Solutions

Syllabus

Official CBCGS Syllabus
Complete Second Year Computer Engineering syllabus document from the University of Mumbai, including detailed course outcomes, assessment criteria, and module specifications for Data Structures and Data Structures Lab.

Important

Always verify the latest syllabus details with the official University of Mumbai website, as curriculum updates may occur after this repository's archival date.


Usage Guidelines

This repository is openly shared to support learning and knowledge exchange across the academic community.

For Students
Use these resources as reference materials for understanding concepts, reviewing problem-solving techniques, and preparing for examinations. All content is organized for self-paced learning.

For Educators
These materials may serve as curriculum references, assignment examples, or supplementary teaching resources. Attribution is appreciated when utilizing content.

For Researchers
The documentation and organization may provide insights into academic resource curation and educational content structuring.


License

This repository and all linked academic content are made available under the Creative Commons Attribution 4.0 International License (CC BY 4.0). See the LICENSE file for complete terms.

Note

Summary: You are free to share and adapt this content for any purpose, even commercially, as long as you provide appropriate attribution to the original author.


About This Repository

Created & Maintained by: Amey Thakur
Academic Journey: Bachelor of Engineering in Computer Engineering (2018-2022)
Institution: Terna Engineering College, Navi Mumbai
University: University of Mumbai

This repository represents a comprehensive collection of study materials, reference books, question papers, and personal preparation notes curated during my academic journey. All content has been carefully organized and documented to serve as a valuable resource for students pursuing Data Structures & Data Structures Lab.

Connect: GitHub · LinkedIn

Acknowledgments

Grateful acknowledgment to the faculty members of the Department of Computer Engineering at Terna Engineering College for their guidance. Their instruction was fundamental to the completion of this coursework.

Special thanks to the mentors and peers whose collaboration, feedback, and support were instrumental during the development of these projects.


↑ Back to Top

Overview  ·  Contents  ·  Reference Books  ·  Personal Preparation  ·  Laboratory  ·  Question Papers  ·  Syllabus  ·  Usage Guidelines  ·  License  ·  About  ·  Acknowledgments


🔬 Data Structures Laboratory


Computer Engineering (B.E.) - University of Mumbai

Semester-wise curriculum, laboratories, projects, and academic notes.