Skip to content

CSC 12O4 Data Structures and Algorithms Tutorial

Notifications You must be signed in to change notification settings

WannerPro/DSA-Labs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 

Repository files navigation

CSC 1204 Data Structures and Algorithms - Tutorial

This repository provides a comprehensive guide to data structures, algorithms, and additional programming concepts aimed at beginners and intermediate programmers (undergraduate students) to improve their coding skills. It integrates foundational academic course materials with practical programming exercises. Below is an outline of the contents provided in this repository.

Table of Contents

1. 📚 Resources

Reading materials for a thorough understanding of the topics covered:

  • "Data Structures and Algorithm Analysis in C++" by Mark Allen Weiss, 4th Edition, 2014.
  • "Data Structures and Algorithms in Python" by Michael T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser, 2013.
  • "Data Structures and Algorithms" by Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman, 1983.
  • "Introduction to Algorithms" by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Second Edition, 2001.

2. ⭕ Big-O Notation

In-depth exploration of algorithm complexity and performance analysis:

  • Understand the significance of Big-O, Omega, and Theta notations in algorithm efficiency.

3. 🏢 Data Structures

Comprehensive tutorials on both elementary and advanced data structures:

  • Coverage of arrays, graphs, hash tables, linked lists, queues, stacks, trees (including binary and balanced trees).

4. 🛠 Algorithms

Core algorithms used in computing and problem-solving:

  • Includes sorting (simple and advanced), searching, and hashing algorithms.
  • Detailed sections on recursive algorithms and graph traversals (BFS and DFS).

5. 📂 File Handling and OOPS

Application of object-oriented programming principles in data structures:

  • Demonstrations integrating file operations with complex data structures.

Advanced Topics

6. ❗ Algorithm Analysis

Detailed methodology for analyzing the performance of algorithms:

  • Discusses asymptotic analysis and various complexity cases including worst, average, and amortized analysis.

7. ➗ Algorithm Design

Exploration of different algorithm design paradigms:

  • Includes sections on dynamic programming, divide-and-conquer strategies, and greedy algorithms.

8. 🎉 Advanced Data Types

Focus on complex data structures and their practical applications:

  • Detailed discussions on deques, AVL trees, and other specialized structures.

9. 👾 Advanced Sorting and Searching Techniques

Explore more complex algorithms for sorting and searching:

  • Features mergesort, heapsort, quicksort, and techniques for efficient searching in structured data.

10. ➰ Graph Algorithms

In-depth study of algorithms for graph analysis:

  • Covers algorithms for finding shortest paths, spanning trees, and other graph properties.

11. 🆎 Regular Expressions

Patterns and techniques for matching text with regular expressions.

12. 🧪 Unit Testing

Methods and tools for writing effective unit tests in Python.

13. 👷‍ Mini-Projects

Mini-projects to apply what you've learned in real-world scenarios.

14. ‍🤯 MoMTSim Codebase (optimizing as a library)

Implement MoMTSim (Mobile Money Transaction Simulator) as a library other than an application.

15. ‍🤩 Group Relative Policy Optimization (GRPO) in DeepSeekMath

Enhancing mathematical reasoning abilities and optimizing memory usage in LLMs.

About

CSC 12O4 Data Structures and Algorithms Tutorial

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published