Skip to content

Latest commit

ย 

History

History
42 lines (36 loc) ยท 1.21 KB

File metadata and controls

42 lines (36 loc) ยท 1.21 KB

๐Ÿ•ธ๏ธ Custom Graph Database (C#)

Build Status .NET License

A powerful, typed graph database developed from scratch in C#. The project implements its own data structures and classic algorithms without using third-party graphics libraries.

๐ŸŒŸ Features

  • Generic Architecture: Flexible type system <TKey, TData, TEdgeData>.
  • Polymorphism Support:
    • Nodes: PersonData, CityData, CompanyData.
    • Edges: FriendshipEdge, WorksAtEdge.
  • Algorithms:
    • ๐Ÿ” BFS:.
    • ๐Ÿง  DFS:.
    • โšก Dijkstra:.
    • ๐Ÿ”„ Cycle Detection:.
  • Persistence: Saving/Loading a database in JSON (System.Text.Json).
  • Unit Testing: Coverage with xUnit tests (20+ tests).

๐Ÿ—๏ธ Class Architecture

classDiagram
    class Graph {
        +Dictionary Nodes
        +AddNode()
        +AddEdge()
        +RemoveNode()
    }
    class Node {
        +TKey ID
        +TData Data
        +List Edges
    }
    class Edge {
        +Node From
        +Node To
        +TEdgeData Data
    }
    Graph *-- Node
    Node *-- Edge
Loading