Name: Jay Arre Talosig
Prerequisite: CCPRGG2L Intermediate Programming
Data structures and algorithms (DSA) are an important aspect of any programming language. Every language has its own data structures and its way of handling different types of algorithms.
This course focuses on the use of data structures and algorithms for solving computing and real-life problems efficiently. This course covers the following data structures: dynamic arrays, list, stacks, queues, trees, graphs and maps. Analysis of time and space complexity of algorithmic solutions will also be covered
Welcome to the "CCDATRCL - Data Structures and Algorithms" repository! This collection of code and resources is dedicated to the educational exploration of fundamental data structures and algorithms.
The "DATA STRUCTURES AND ALGORITHMS" course is designed to equip students with a deep understanding of the underlying principles and techniques that enable efficient and effective problem-solving in computer science.
Data structures and algorithms are the building blocks of software development, allowing programmers to organize, process, and analyze data in a way that is both efficient and scalable. By mastering these concepts, students will gain a solid foundation in computer science and be able to tackle complex problems with confidence.
This repository serves as a practical companion to the course, providing students with hands-on examples, exercises, and project templates to solidify their grasp of data structures and algorithms, including arrays, linked lists, stacks, queues, trees, graphs, and more. Through this repository, students will develop the skills to analyze problems, design efficient solutions, and implement them in a variety of programming languages.
The purpose of the "DATA STRUCTURE AND ALGORITHM" course is to empower students with the skills necessary to design and implement efficient algorithms and utilize appropriate data structures.
In the realm of software development, understanding data structures and algorithms is crucial for developing scalable and optimized solutions. By the end of this course, students are expected to comprehend various data structures, such as arrays, linked lists, stacks, queues, trees, and graphs, and be able to apply algorithms like sorting, searching, and graph traversal to solve real-world problems.
The hands-on experience gained from working with this repository's code samples and projects aims to reinforce theoretical knowledge and prepare students for practical challenges in the field of data structure and algorithm implementation.
- Educational Resources: Find code snippets, examples, and projects that illustrate key data structures and algorithms covered in the course.
- Hands-On Exercises: Engage in practical exercises to reinforce theoretical knowledge and enhance your problem-solving skills.
- Project Templates: Use provided project templates to kickstart your assignments and projects for the course.
📈 Lesson
Week No. | Date Coverage | Topic | Reference |
---|---|---|---|
1 | August 5 | Class Orientation | Course Syllabus |
- Ø Concept of Abstraction | |||
- Ø Review of types-definitions | |||
- Ø Parameters and Parameter Pasing | |||
- Ø Array Processing and Manipulation | |||
August 8 | - Ø Abstract Data Types (ADTs) | Course Materials, PPT, Sample Programs | |
- Ø Introduction to Data Structures | |||
2 | August 12 | 2.1 - Classes / Structure | Course Materials, PPT, Sample Programs🚀 |
2.2 - Class Definition | |||
August 15 | Type Definition | ||
Involving structures | |||
3 | August 19 | 3.1 - Linked-list | Course Materials, PPT, Sample Programs🚀 |
3.2 - Linked-list operations | |||
August 22 | 3.3 - Linked-list traversal | ||
4 | August 26 | 4.1 - Stack Definition | Course Materials, PPT, Sample Programs🚀 |
4.2 - Stack Application | |||
August 28 | 4.3 - Stack Implementation using an Array | ||
4.4 - Stack Implementation using a Linked-list | |||
5 | September 2 | 5.1 Queue Definition | Course Materials, PPT, Sample Programs🚀 |
5.2 Queue Application | |||
September 12 | 5.3 Queue Implementation using an Array | ||
5.4 Queue Implementation using a Linked-list | |||
6 | September 16 | 6.1 Binary Tree | Course Materials, PPT, Sample Programs🚀 |
6.2 Binary Tree representation of expression | |||
MIDTERM EXAM | |||
September 26 | 6.3 Binary Traversal | ||
6.4 Binary Search Trees | |||
7 | September 30 | 6.5 Heap | |
7 | September 30 | 7.1 Hash Table | Course Materials, PPT, Sample Programs🚀 |
7.2 Hash Table Operations | |||
8 | October 10 | 7.3 Open Hashing | |
7.4 Closed Hashing | |||
11 | October 14 | 8.1 Graph Definition | Kindly give my repo_a star here💫 |
8.2 Graph Application | |||
12 | October 24 | 8.3 Graph Representation | |
8.4 Graph Traversal | |||
13 | October 28 | Presentation of Final Project | Kindly give my_repo a star here💫 |
November 7 |
Data structures and algorithms (DSA) are an important aspect of any programming language. Every language has its own data structures and its way of handling different types of algorithms.
So, as a programmer, no matter what programming language you are working with, data structures and algorithms have to be an important aspect of your day-to-day programming. That’s because we always need them to solve complex problems.
And that’s why I put together this article – to show you what data structures and algorithms are, and to share some resources with you to help you learn them in various languages.
coming soon...
coming soon...
coming soon...
The National University of Manila License grants permission to students of the National University of Manila to use, modify, and distribute this project for educational purposes within the scope of their coursework and assignments.
- You may use this project as a reference or learning material for your studies at the National University of Manila.
- You may modify the project to suit your educational needs and requirements.
- You may share the project with your fellow students or instructors for educational purposes.
- You may not use this project for commercial purposes.
- You may not redistribute or publish this project outside the National University of Manila without explicit permission.
This project is provided "as is" without warranty of any kind, express or implied. The National University of Manila and the project contributors disclaim any liability or responsibility for any direct, indirect, incidental, special, exemplary, or consequential damages arising out of the use or misuse of this project.
Professor Mrs. Jensen Santillan is a highly respected academic and industry practitioner. Her expertise spans a wide range of areas, including Data Analytics, Data Science, Data Analysis, Data Structures, and Information Management. As a distinguished faculty member at the College of Computing and Information Technology at National University, she shares her knowledge and skills with students.
## [8.0.4] - 2024-08-05
### Added
- ✨ Uploaded Outline and Timeframe
- ✨ Added Asset Folder
### Changed
- ✨ Rename folder for PSET
### Fixed
- ✨ Fix documentation
## [8.1.3] - 2024-08-12
### Added
- ✨ Uploaded lecture for Introduction To Data Structures
- ✨ Added Folder Week 0 PSET 0
## [8.0.0] - 2024-08-19
### Added
- ✨ Uploaded lecture for Linked List
- ✨ Added Folder Week 1 PSET 1
## [8.0.0] - 2024-08-26
### Added
- ✨ Linked List
- ✨ Added Folder Week 2 PSET 2
## [9.0.2] - 2024-09-16
### Added
- ✨ Queue
- ✨ Added Folder for Midterm Exam
## [9.0.2] - 2024-09-19
### Activity
- ✨ Checking for Midterm Project Exam
## [9.0.1] - 2024-09-23
### Activity
- ✨ Uploaded lecture for Trees
## [9.0.1] - 2024-09-30
### Activity
- ✨ Uploaded lecture for Heap
## [9.0.1] - 2024-10-14
### Activity
- ✨ Uploaded lecture for Graphs
🧊 Data Structure and Algorithm