This site is driven by two keys, like the machine it came from. Reading: j and k scroll, d and u move half a page, gg goes to the top, G to the bottom, H and L switch windows, ? opens the help. Space is the Neovim leader and handles content: Space then h home, r research, p projects, g gear, a about, / tags, or Space then a digit to jump to that window. Home is the tmux prefix and handles windows: Home then c opens a terminal, Home then & closes a window, Home then space goes to the next one. While focus is on the keyboard, h j k l move between keys and Enter opens one.

ResearchR AboutA Gear — G for gear — keyboard, terminal, editor, homelab.G
    ProjectsP Tags — / as in vim: search./
    ×
    Menu

    ALGO3 - Graph (Adjacency Matrix, C)

    This repository is prepared for the ALGO3 teaching pattern based on:

    Summary

    This repository is prepared for the ALGO3 teaching pattern based on imperative graph representation in C. The approach used is deliberately simple so that the foundations of data structures and model translation are explicit.

    Scope of material:

    • Graph representation with int M[n][n]
    • Translation of model → data → operations
    • Direct queries, multi-step queries, and matrix traversal
    • Path enumeration via brute force (without formal DFS/BFS)

    Directory Structure

    FileTopic
    pertemuan1/graph_tak_berarah.cUndirected graph: degree and basic queries
    pertemuan2/graph_berarah.cDirected graph: indegree/outdegree, two-step queries
    pertemuan3/cetak_semua_path.cPrint all paths A → D without revisiting (brute force, per tugas3.png)
    MakefileQuick build and run

    Usage

    Build

    make all

    Run

    make run-p1
    make run-p2
    make run-p3

    Academic Notes

    The focus of this repo is the foundation of graph data structures in an imperative and procedural way.

    The material does not yet cover formal algorithms such as:

    • Recursive DFS
    • BFS
    • Dijkstra
    • Topological sort
    id en
    rss gh in