{"id":20533331,"url":"https://github.com/athulsabu2002/s3_ds_lab","last_synced_at":"2025-08-20T06:43:26.884Z","repository":{"id":193212037,"uuid":"688342050","full_name":"AthulSabu2002/S3_DS_LAB","owner":"AthulSabu2002","description":"Data Structures and Algorithms lab programs for S3 CSE B.Tech. Comprehensive implementation of sorting algorithms, linear/non-linear data structures, graph algorithms, and mathematical applications in C.","archived":false,"fork":false,"pushed_at":"2025-06-28T13:12:38.000Z","size":24,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-02T23:02:03.932Z","etag":null,"topics":["data-structures","ktu","lab","s3"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AthulSabu2002.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-09-07T06:43:42.000Z","updated_at":"2025-06-28T13:12:41.000Z","dependencies_parsed_at":"2025-08-02T23:02:06.164Z","dependency_job_id":"6e986eb9-6b2b-4247-960b-29d62585d4ee","html_url":"https://github.com/AthulSabu2002/S3_DS_LAB","commit_stats":null,"previous_names":["athulsabu2002/s3_ds_lab"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AthulSabu2002/S3_DS_LAB","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AthulSabu2002%2FS3_DS_LAB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AthulSabu2002%2FS3_DS_LAB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AthulSabu2002%2FS3_DS_LAB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AthulSabu2002%2FS3_DS_LAB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AthulSabu2002","download_url":"https://codeload.github.com/AthulSabu2002/S3_DS_LAB/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AthulSabu2002%2FS3_DS_LAB/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271279725,"owners_count":24731902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-structures","ktu","lab","s3"],"created_at":"2024-11-16T00:20:38.703Z","updated_at":"2025-08-20T06:43:26.858Z","avatar_url":"https://github.com/AthulSabu2002.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Data Structures and Algorithms Lab 🔍\n\nData Structures and Algorithms lab programs implemented in C for S3 CSE B.Tech curriculum. This repository contains comprehensive implementations of fundamental data structures, sorting algorithms, searching techniques, and graph algorithms.\n\n## 📋 Programs Included\n\n### 🔍 Searching Algorithms\n- **Binary Search** - `binarySearch.c`\n\n### 🔄 Sorting Algorithms\n- **Bubble Sort** - `bubbleSort.c`\n- **Selection Sort** - `selectionSort.c`\n- **Insertion Sort** - `insertionSort.c`\n- **Merge Sort** - `mergeSort.c`\n- **Quick Sort** - `quickSort.c`\n- **Heap Sort** - `heapSort.c`\n\n### 📊 Linear Data Structures\n- **Queue Implementation** - `queue.c`\n- **Circular Queue** - `circularQueue.c`\n- **Singly Linked List** - `singlyLinkedList.c`\n- **Linked List Queue** - `singlyLinkedListQueue.c`\n\n### 🌳 Non-Linear Data Structures\n- **Binary Tree** - `binaryTree.c`\n- **Hash Table** - `hashTable.c`\n\n### 🔢 Mathematical Applications\n- **Polynomial Representation** - `polynomialRepresentation.c`\n- **Polynomial Addition (Linked List)** - `polynomialAddnLinkedList.c`\n- **Sparse Matrix** - `sparseMatrix.c`\n\n### 📝 Expression Processing\n- **Infix to Postfix Conversion** - `infixToPostfix.c`\n\n### 🌐 Graph Algorithms\n- **DFS \u0026 BFS Traversal** - `dfs_bfs.c`\n\n## 🎯 Course Information\n\n- **Course**: Data Structures and Algorithms Lab\n- **Semester**: 3rd Semester\n- **Program**: B.Tech Computer Science Engineering\n- **Language**: C Programming\n\n## 🚀 Getting Started\n\n### Prerequisites\n- GCC Compiler\n- Basic knowledge of C programming\n- Understanding of data structures concepts\n\n### Installation \u0026 Usage\n\n1. **Clone the repository**:\n   ```bash\n   git clone https://github.com/AthulSabu2002/S3_DS_LAB.git\n   cd dsa-lab\n   ```\n\n2. **Compile any program**:\n   ```bash\n   gcc filename.c -o output\n   ```\n\n3. **Run the executable**:\n   ```bash\n   ./output\n   ```\n\n## 💡 Example Usage\n\n```bash\n# Sorting Algorithms\ngcc bubbleSort.c -o bubblesort\n./bubblesort\n\ngcc mergeSort.c -o mergesort\n./mergesort\n\n# Data Structures\ngcc singlyLinkedList.c -o linkedlist\n./linkedlist\n\ngcc binaryTree.c -o binarytree\n./binarytree\n\n# Search Algorithm\ngcc binarySearch.c -o binarysearch\n./binarysearch\n\n# Graph Algorithms\ngcc dfs_bfs.c -o graph_traversal\n./graph_traversal\n```\n\n## 📚 Algorithm Complexity Overview\n\n### Sorting Algorithms\n| Algorithm | Best Case | Average Case | Worst Case | Space |\n|-----------|-----------|--------------|------------|-------|\n| Bubble Sort | O(n) | O(n²) | O(n²) | O(1) |\n| Selection Sort | O(n²) | O(n²) | O(n²) | O(1) |\n| Insertion Sort | O(n) | O(n²) | O(n²) | O(1) |\n| Merge Sort | O(n log n) | O(n log n) | O(n log n) | O(n) |\n| Quick Sort | O(n log n) | O(n log n) | O(n²) | O(log n) |\n| Heap Sort | O(n log n) | O(n log n) | O(n log n) | O(1) |\n\n### Searching Algorithms\n| Algorithm | Best Case | Average Case | Worst Case |\n|-----------|-----------|--------------|------------|\n| Binary Search | O(1) | O(log n) | O(log n) |\n\n## 🔧 Data Structures Implemented\n\n### Linear Structures\n- **Queue**: FIFO (First In, First Out) operations\n- **Circular Queue**: Efficient space utilization with circular indexing\n- **Linked List**: Dynamic memory allocation with pointer-based structure\n\n### Non-Linear Structures\n- **Binary Tree**: Hierarchical data organization\n- **Hash Table**: Key-value pair storage with hashing\n- **Graph**: Vertex and edge representation for network problems\n\n### Specialized Structures\n- **Sparse Matrix**: Efficient storage for matrices with many zeros\n- **Polynomial**: Mathematical polynomial representation and operations\n\n## 🛠️ Key Concepts Covered\n\n### Algorithm Design Techniques\n- **Divide and Conquer**: Merge Sort, Quick Sort\n- **Greedy Approach**: Selection Sort\n- **Dynamic Programming**: Optimal substructure problems\n\n### Data Structure Operations\n- **Insertion and Deletion**: In various data structures\n- **Traversal**: Tree and graph traversal algorithms\n- **Searching**: Efficient search techniques\n\n### Mathematical Applications\n- **Polynomial Operations**: Addition using linked lists\n- **Matrix Operations**: Sparse matrix representation\n- **Expression Evaluation**: Infix to postfix conversion\n\n## 📖 Learning Outcomes\n\n- Understanding of fundamental data structures\n- Implementation of various sorting algorithms\n- Graph traversal techniques (DFS, BFS)\n- Time and space complexity analysis\n- Problem-solving using appropriate data structures\n- Memory management in C programming\n\n## 🎓 Academic Context\n\nThis repository demonstrates practical implementation of:\n- **Abstract Data Types (ADT)**\n- **Algorithm efficiency and optimization**\n- **Memory management techniques**\n- **Problem decomposition strategies**\n\nEach program includes detailed comments and follows structured programming practices.\n\n## 🛠️ Technologies Used\n\n- **C Programming Language**\n- **GCC Compiler**\n- **Standard C Libraries**\n- **Manual Memory Management**\n\n## 🤝 Contributing\n\nThis repository contains academic lab work. For improvements or additional implementations:\n\n1. Fork the repository\n2. Create a feature branch\n3. Add your improvements\n4. Submit a pull request\n\n## 📝 Note\n\nThese programs are implemented for educational purposes as part of the DSA Lab curriculum. Each implementation focuses on clarity and understanding of the underlying concepts rather than production optimization.\n\n## 📧 Contact\n\nFor questions about algorithm implementations or data structure concepts, feel free to reach out!\n\n---\n*S3 CSE B.Tech - Data Structures and Algorithms Laboratory*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fathulsabu2002%2Fs3_ds_lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fathulsabu2002%2Fs3_ds_lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fathulsabu2002%2Fs3_ds_lab/lists"}