{"id":18917798,"url":"https://github.com/oyvinddd/algorithms-and-data-structures","last_synced_at":"2025-12-15T04:54:50.967Z","repository":{"id":103949190,"uuid":"200521763","full_name":"oyvinddd/algorithms-and-data-structures","owner":"oyvinddd","description":"A collection of algorithms and data structures implemented in Go","archived":false,"fork":false,"pushed_at":"2020-05-25T21:03:49.000Z","size":91,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-01T07:52:19.643Z","etag":null,"topics":["algorithms","computer-science","data-structures","divide-and-conquer","dynamic-programming","golang","memoization","search-algorithms","sort-algorithms"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oyvinddd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-08-04T17:24:43.000Z","updated_at":"2020-05-25T21:03:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"2ae7a032-3daa-42ad-b241-8edbd2ce7481","html_url":"https://github.com/oyvinddd/algorithms-and-data-structures","commit_stats":null,"previous_names":["oyvinddd/algorithms"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oyvinddd/algorithms-and-data-structures","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyvinddd%2Falgorithms-and-data-structures","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyvinddd%2Falgorithms-and-data-structures/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyvinddd%2Falgorithms-and-data-structures/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyvinddd%2Falgorithms-and-data-structures/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oyvinddd","download_url":"https://codeload.github.com/oyvinddd/algorithms-and-data-structures/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyvinddd%2Falgorithms-and-data-structures/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262969887,"owners_count":23392530,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","computer-science","data-structures","divide-and-conquer","dynamic-programming","golang","memoization","search-algorithms","sort-algorithms"],"created_at":"2024-11-08T10:28:15.815Z","updated_at":"2025-12-15T04:54:50.892Z","avatar_url":"https://github.com/oyvinddd.png","language":"Go","readme":"Algorithms and Data Structures\n==============================\n\nA collection of algorithms and data structures implemented in [Go](https://golang.org/ \"Visit golang.org\")\n----------------------------------------------------------------\n\n### Algorithms\n\n#### Sorting\n\n* __Elementary sorts__\n    * [~~Linear sort~~](https://github.com/oyvinddd/algorithms/blob/master/algorithms/sorting/linearsort/linearsort.go \"Go to page\") - O(n)\n    * [Selection sort](https://github.com/oyvinddd/algorithms/blob/master/algorithms/sorting/selectionsort/selectionsort.go \"Go to page\") - O(n^2)\n    * [Insertion Sort](https://github.com/oyvinddd/algorithms/blob/master/algorithms/sorting/insertionsort/insertionsort.go \"Go to page\")\n    * [Shell sort](https://github.com/oyvinddd/algorithms/blob/master/algorithms/sorting/shellsort/shellsort.go \"Go to page\")\n* [Mergesort](https://github.com/oyvinddd/algorithms/blob/master/algorithms/sorting/mergesort/mergesort.go \"Go to page\") - O(nlogn)\n    * [Bottom-up mergesort](https://github.com/oyvinddd/algorithms/blob/master/algorithms/sorting/mergesort/mergesortbu.go \"Go to page\") - O(nlogn)\n* [Quicksort](https://github.com/oyvinddd/algorithms/blob/master/algorithms/sorting/quicksort/quicksort.go \"Go to page\") - O(nlogn)\n\n#### Searching\n* [Binary search](https://github.com/oyvinddd/algorithms/blob/master/algorithms/searching/binarysearch/binarysearch.go \"Go to page\") - O(logn)\n* [Breadth-first search (BFS)](https://github.com/oyvinddd/algorithms/blob/master/algorithms/searching/bfs/bfs.go \"Go to page\") - O(e+v)\n* [Depth-first search (DFS)](https://github.com/oyvinddd/algorithms/blob/master/algorithms/searching/dfs/dfs.go \"Go to page\") - O(e+v)\n\n#### Greedy\n* [Interval Scheduling](https://github.com/oyvinddd/algorithms/blob/master/algorithms/greedy/interval.go \"Go to page\")\n* Dijkstra's Algorithm\n* Kruskal's Algorithm\n* Prim's Algorithm\n\n#### Dynamic Programming (DP)\n* [Fibonacci Sequence](https://github.com/oyvinddd/algorithms/blob/master/algorithms/dp/fibonacci.go \"Go to page\") - O(n)\n* [Kadane's Algorithm](https://github.com/oyvinddd/algorithms/blob/master/algorithms/dp/kadane.go \"Go to page\") - O(n)\n* [Weighted Interval Scheduling](https://github.com/oyvinddd/algorithms/blob/master/algorithms/dp/weightedinterval.go \"Go to page\") - O(n)\n* [Knapsack Problem](https://github.com/oyvinddd/algorithms/blob/master/algorithms/dp/knapsack.go \"Go to page\") - O(nW)\n* [Longest Common Substring](https://github.com/oyvinddd/algorithms/blob/master/algorithms/dp/lcsubstring.go \"Go to page\") - O(nm)\n\n#### Other\n* [Gale-Shapeley](https://github.com/oyvinddd/algorithms/blob/master/algorithms/other/galeshapeley/galeshapeley.go \"Go to page\")\n\n### Data Structures\n\n#### Fundamental\n\n* [Stack](https://github.com/oyvinddd/algorithms/blob/master/datastructures/stack/stack.go \"Go to page\")\n* [Queue](https://github.com/oyvinddd/algorithms/blob/master/datastructures/queue/queue.go \"Go to page\")\n* [Bag](https://github.com/oyvinddd/algorithms/blob/master/datastructures/bag/bag.go \"Go to page\")\n\n#### Tree\n\n* [Priority Queue](https://github.com/oyvinddd/algorithms/blob/master/datastructures/heap/pq.go \"Go to page\")\n\n#### Graph\n\n* [Undirected Graph](https://github.com/oyvinddd/algorithms/blob/master/datastructures/graphs/graph.go \"Go to page\")\n* [Directed Graph](https://github.com/oyvinddd/algorithms/blob/master/datastructures/graphs/digraph.go \"Go to page\")\n* [Edge-Weighted Graph](https://github.com/oyvinddd/algorithms/blob/master/datastructures/graphs/edgeweighted/ewgraph.go \"Go to page\")\n\u003c!-- * [Edge-Weighted Graph](https://github.com/oyvinddd/algorithms/blob/master/datastructures/graphs/edgeweighted.go \"Go to page\") --\u003e","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foyvinddd%2Falgorithms-and-data-structures","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foyvinddd%2Falgorithms-and-data-structures","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foyvinddd%2Falgorithms-and-data-structures/lists"}