/datastructure

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

Primary LanguageJupyter NotebookMIT LicenseMIT

Federal University of Rio Grande do Norte

Technology Center

Department of Computer Engineering and Automation

Algorithms and Data Structure II (DCA3702)

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
    • 📖 Learning Resources
      • GitHub Learning Game: Check out the interactive Git learning game at GitHub Learning Game
      • Basic Python: Enhance your Python skills through the Kaggle Python course.
      • AI Python for Beginners: Learn Python programming fundamentals and how to integrate AI tools for data manipulation, analysis, and visualization. Andrew Ng
  • Open in PDF Network Fundamentals I: Outline, applications, math and graph theory.

Week 02

Week 03

  • Open in PDF Small World: This week, we explore key concepts such as Small World Networks, Homophily, and Assortativity. You will investigate how these concepts influence the structure and behavior of real-world networks.

Week 04

  • Open in PDF Small World Cont.: Paths, Distances, Connected Components, Clustering Coefficient, Social Distance and Six Degrees of Separation
    • Jupyter Paths, Walks and Distances
    • Jupyter Connected Components
    • Jupyter Clustering Coefficient

Week 05

  • Open in PDF Hubs: the most important metrics and case studies.
    • Eccentricity, Diameter, Periphery, Radius and Center
    • Degree, Closeness, Betweenness and Eigenvector Centrality
    • Centrality Distributions
    • Core Decomposition
  • Jupyter Hands on centralities measures

Week 06

  • Directed networks: case study of Wikipedia pages
    • Building a networking from Wikipedia pages
    • Collecting data from a snowballing process
    • Truncate and eliminate duplicates
    • Exploring the network data
    • Jupyter Wikipedia pages network

Week 07

  • Gephi - The Open Graph Viz Platform
    • A brief overview about Gephi Open in Loom
    • Quick start Open in Loom
    • Using layouts Open in Loom
    • Node and network measures Open in Loom
    • Visualize and filtering nodes and communities Open in Loom
    • Renderize, export the network, and highlight a community Open in Loom
    • Deploy the network into an HTML page Open in Loom Open in Loom
    • Another way to publish your network to the web using Retina and Gephisto Open in Loom