# mystigan/dsa-with-go architecture

> Architecture diagram of the GitHub repository mystigan/dsa-with-go, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mystigan/dsa-with-go
- Repository: https://github.com/mystigan/dsa-with-go

## Overview

DSA-with-Go is a learning repository of standalone Go data-structure implementations, algorithms, and LeetCode solutions—not a single application with a shared request-to-result pipeline. A caller supplies inputs directly to an individual function or data structure and receives a result or observes an operation; no common runtime entry point is shown. The graph groups the repository’s principal capabilities, including documented sorting/searching and data structures alongside the broader challenge collection. Sampled files support independent implementations; relationships between unsampled solutions are not inferred.

Main entry points: [`Algorithms/search/binarysearch/binarySearch.go`](https://github.com/mystigan/dsa-with-go/blob/master/Algorithms/search/binarysearch/binarySearch.go) (Binary search), [`Algorithms/sorts`](https://github.com/mystigan/dsa-with-go/tree/master/Algorithms/sorts) (Sorting algorithms), [`DataStructures/linkedList/singlyLinkedList.go`](https://github.com/mystigan/dsa-with-go/blob/master/DataStructures/linkedList/singlyLinkedList.go) (Singly linked list), [`DataStructures/queue/arrqueue/queue.go`](https://github.com/mystigan/dsa-with-go/blob/master/DataStructures/queue/arrqueue/queue.go) (Array queue)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_algorithms["Algorithms"]
  node_binarysearch["Binary search<br/>[binarySearch.go]"]
  node_sorting["Sorting algorithms"]
end

subgraph group_structures["Data structures"]
  node_linkedlist["Singly linked list"]
  node_arrayqueue["Array queue<br/>[queue.go]"]
  node_arraystack["Array stack<br/>[stack.go]"]
  node_liststack["Linked stack<br/>[stack.go]"]
end

subgraph group_challenges["LeetCode solutions"]
  node_searchproblems["Search challenges"]
  node_arrayproblems["Array challenges<br/>[arraySum.go]"]
  node_stringproblems["String challenges"]
  node_listproblems["Linked-list challenges<br/>[listPalindrome.go]"]
  node_stackqueueproblems["Stack/queue challenges<br/>[stackUsingQeue.go]"]
end

node_caller(("Caller / learner"))

node_caller -->|"calls search"| node_binarysearch
node_caller -->|"calls sort"| node_sorting
node_caller -->|"uses operations"| node_linkedlist
node_caller -->|"uses operations"| node_arrayqueue
node_caller -->|"uses operations"| node_arraystack
node_caller -->|"uses operations"| node_liststack
node_caller -->|"calls solution"| node_searchproblems
node_caller -->|"calls solution"| node_arrayproblems
node_caller -->|"calls solution"| node_stringproblems
node_caller -->|"calls solution"| node_listproblems
node_caller -->|"calls solution"| node_stackqueueproblems

click node_binarysearch "https://github.com/mystigan/dsa-with-go/blob/master/Algorithms/search/binarysearch/binarySearch.go"
click node_sorting "https://github.com/mystigan/dsa-with-go/tree/master/Algorithms/sorts"
click node_linkedlist "https://github.com/mystigan/dsa-with-go/blob/master/DataStructures/linkedList/singlyLinkedList.go"
click node_arrayqueue "https://github.com/mystigan/dsa-with-go/blob/master/DataStructures/queue/arrqueue/queue.go"
click node_arraystack "https://github.com/mystigan/dsa-with-go/blob/master/DataStructures/stack/arrstack/stack.go"
click node_liststack "https://github.com/mystigan/dsa-with-go/blob/master/DataStructures/stack/llstack/stack.go"
click node_searchproblems "https://github.com/mystigan/dsa-with-go/blob/master/questions/leetcode/33.%20Search%20in%20Rotated%20Sorted%20Array/searchInRotatedArray.go"
click node_arrayproblems "https://github.com/mystigan/dsa-with-go/blob/master/questions/leetcode/1480.%20Running%20Sum%20of%201d%20Array/arraySum.go"
click node_stringproblems "https://github.com/mystigan/dsa-with-go/blob/master/questions/leetcode/1455.%20Check%20If%20a%20Word%20Occurs%20As%20a%20Prefix%20of%20Any%20Word%20in%20a%20Sentence/searchPrefixinString.go"
click node_listproblems "https://github.com/mystigan/dsa-with-go/blob/master/questions/leetcode/234.%20Palindrome%20Linked%20List/listPalindrome.go"
click node_stackqueueproblems "https://github.com/mystigan/dsa-with-go/blob/master/questions/leetcode/225.%20Implement%20Stack%20using%20Queues/stackUsingQeue.go"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_binarysearch,node_sorting toneBlue
class node_linkedlist,node_arrayqueue,node_arraystack,node_liststack toneAmber
class node_searchproblems,node_arrayproblems,node_stringproblems,node_listproblems,node_stackqueueproblems toneMint
class node_caller toneIndigo
```

## Components

### Algorithms

- [Binary search](https://github.com/mystigan/dsa-with-go/blob/master/Algorithms/search/binarysearch/binarySearch.go): `Algorithms/search/binarysearch/binarySearch.go`
- [Sorting algorithms](https://github.com/mystigan/dsa-with-go/tree/master/Algorithms/sorts): `Algorithms/sorts`

### Data structures

- [Singly linked list](https://github.com/mystigan/dsa-with-go/blob/master/DataStructures/linkedList/singlyLinkedList.go): `DataStructures/linkedList/singlyLinkedList.go`
- [Array queue](https://github.com/mystigan/dsa-with-go/blob/master/DataStructures/queue/arrqueue/queue.go): `DataStructures/queue/arrqueue/queue.go`
- [Array stack](https://github.com/mystigan/dsa-with-go/blob/master/DataStructures/stack/arrstack/stack.go): `DataStructures/stack/arrstack/stack.go`
- [Linked stack](https://github.com/mystigan/dsa-with-go/blob/master/DataStructures/stack/llstack/stack.go): `DataStructures/stack/llstack/stack.go`

### LeetCode solutions

- [Search challenges](https://github.com/mystigan/dsa-with-go/blob/master/questions/leetcode/33.%20Search%20in%20Rotated%20Sorted%20Array/searchInRotatedArray.go): `questions/leetcode/33. Search in Rotated Sorted Array/searchInRotatedArray.go`
- [Array challenges](https://github.com/mystigan/dsa-with-go/blob/master/questions/leetcode/1480.%20Running%20Sum%20of%201d%20Array/arraySum.go): `questions/leetcode/1480. Running Sum of 1d Array/arraySum.go`
- [String challenges](https://github.com/mystigan/dsa-with-go/blob/master/questions/leetcode/1455.%20Check%20If%20a%20Word%20Occurs%20As%20a%20Prefix%20of%20Any%20Word%20in%20a%20Sentence/searchPrefixinString.go): `questions/leetcode/1455. Check If a Word Occurs As a Prefix of Any Word in a Sentence/searchPrefixinString.go`
- [Linked-list challenges](https://github.com/mystigan/dsa-with-go/blob/master/questions/leetcode/234.%20Palindrome%20Linked%20List/listPalindrome.go): `questions/leetcode/234. Palindrome Linked List/listPalindrome.go`
- [Stack/queue challenges](https://github.com/mystigan/dsa-with-go/blob/master/questions/leetcode/225.%20Implement%20Stack%20using%20Queues/stackUsingQeue.go): `questions/leetcode/225. Implement Stack using Queues/stackUsingQeue.go`

### Other components

- **Caller / learner**

## Connections

- Caller / learner → Binary search: calls search
- Caller / learner → Sorting algorithms: calls sort
- Caller / learner → Singly linked list: uses operations
- Caller / learner → Array queue: uses operations
- Caller / learner → Array stack: uses operations
- Caller / learner → Linked stack: uses operations
- Caller / learner → Search challenges: calls solution
- Caller / learner → Array challenges: calls solution
- Caller / learner → String challenges: calls solution
- Caller / learner → Linked-list challenges: calls solution
- Caller / learner → Stack/queue challenges: calls solution
