Skip to content

ivanovitchm/datastructure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Federal University of Rio Grande do Norte

Technology Center

Department of Computer Engineering and Automation

Algorithms and Data Structure II

This is the repository for the Algorithms and Data Structures II course, offered by the Department of Computer Engineering and Automation (DCA) of the Technology Center (CT) at the Federal University of Rio Grande do Norte (UFRN).

The DCA aims to train professionals capable of designing and developing computer systems for industrial automation, embedded systems, software systems, distributed systems, computer networks, and information systems. The CT offers undergraduate and graduate courses in Engineering. This course is part of the curriculum of the Computer Engineering program at DCA/UFRN.

References

Tool Link
😃 Networkx networkx.org
💡 Graph-Tool graph-tool.skewed.de
⚙️ Gephi gephi.org
🚀 OSMnx github.com/gboeing/osmnx
💣 ChatGPT chat.openai.com
💾 Dataset snap.stanford.edu/data

Lessons

Week 01

  • Open in PDF Course Outline: Provides an overview of the course structure and topics covered.
  • 🎯 Week Goals
    • Your main goal for this week is to create a personal repository for tracking your progress and coursework.
    • Feel free to explore these resources and engage with the course material. If you have any questions or need assistance, please don't hesitate to reach out.
    • Happy coding! 💻🚀
  • 🎉 GitHub Education Benefits
    • GitHub Education Pro: Get access to the GitHub Education Pro pack by visiting GitHub Education
  • 🚀 Instant Coding with Codespaces
  • 📖 Learning Resources

Week 02

  • Open in PDF Review: topics covered include Recursion, Binary Search Trees (BST), and AVL Trees.
  • 🎯 Week Goals
    • Your main goal for this week is related to following subjects: recursion, binary and avl trees. By the conclusion, you'll have the ability to distinguish between iteration and recursion, learn how to construct and query datasets using Binary Search Trees (BST) and get acquaninted with AVL trees.
  • Jupyter Recursion: dive into recursion and explore the implementation and analysis of the Merge Sort algorithm.
  • Jupyter Binary Trees: build and analyze the performance of a Binary Search Tree.
  • Jupyter AVL Trees: learn the mechanics behind AVL trees, self-balancing binary search trees, and their implementation.

Week 03

  • Open in PDF Complexity of Algorithms I: Fundamentals and notations, time and constant complexity.
    • Let's Practice!
      • Jupyter: Two numbers sum challenge.
    • Open in PDF How to Calculate the Complexity of the Most Common Use Cases Algorithms: Linear, quadratic, and constant complexity.
      • Fundamentals of Algorithms Complexity I Open in Loom
      • Fundamentals of Algorithms Complexity II Open in Loom
      • ⏳ Estimated time: 30min
    • Open in PDF Notations: Linear, quadratic, and constant complexity.
      • Big O Notation Open in Loom
      • Big Ω Notation Open in Loom
      • Big Θ Notation Open in Loom
      • ⏳ Estimated time: 30min
  • Let's Practice (homework)!
    • Time Complexity of Algorithms
      • 👊 Skills You'll Gain: You will learn how to a) measure the execution time of an algorithm; b) generate random inputs for an algorithm; c) model the execution time of an algorithm.
      • Jupyter: Time Complexity of Algorithms.
      • Jupyter: Constant Time Complexity.

Week 04

  • Open in PDF Complexity Algorithm II: Logarithmic time complexity
    • You will learn: a) explain logarithms and logarithmic complexity; b) apply the binary search algorithm to find elements in sorted lists.
    • Jupyter: Guided Project: Code interview challenge.
  • Open in PDF Challenges: Complexity of different operations in Binary Search Tree.
    • Jupyter: Challenge 01: Find Closest Value.
    • Jupyter: Challenge 02: Find Kth Largest Value.

Week 05

  • Open in PDF Network Fundamentals I: Outline, applications, math and graph theory.
  • Open in PDF Network Fundamentals II: Probability, extended graphs, matrices, degree and representation.
    • Basic Definitions Open in Loom
    • Extended Graphs Open in Loom
    • Density, Sparsity and Subnetworks Open in Loom
    • Degree and Network Representation Open in Loom
    • ⏳ Estimated time: 2h
  • 🛠 Hands on

About

Repository for DCA0209, an undergraduate course about Data Structure and Algorithms

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published