{"id":20013454,"url":"https://github.com/kaierikniermann/algorithms-practice","last_synced_at":"2026-05-15T07:07:56.887Z","repository":{"id":160027668,"uuid":"512286057","full_name":"KaiErikNiermann/algorithms-practice","owner":"KaiErikNiermann","description":"This is a collection of algorithms and data structures in different languages. Primarily based on the solutions from Introduction to Algorithms.","archived":false,"fork":false,"pushed_at":"2023-07-11T01:41:38.000Z","size":2674,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-12T15:11:29.616Z","etag":null,"topics":["algorithms","data-structures","learning","practice"],"latest_commit_sha":null,"homepage":"","language":"C","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/KaiErikNiermann.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-09T21:08:49.000Z","updated_at":"2023-08-01T20:50:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"e5dd812a-4f62-4fc9-99b4-fc64661ec87f","html_url":"https://github.com/KaiErikNiermann/algorithms-practice","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KaiErikNiermann%2Falgorithms-practice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KaiErikNiermann%2Falgorithms-practice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KaiErikNiermann%2Falgorithms-practice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KaiErikNiermann%2Falgorithms-practice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KaiErikNiermann","download_url":"https://codeload.github.com/KaiErikNiermann/algorithms-practice/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241448346,"owners_count":19964457,"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","data-structures","learning","practice"],"created_at":"2024-11-13T07:36:39.394Z","updated_at":"2026-05-15T07:07:51.867Z","avatar_url":"https://github.com/KaiErikNiermann.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# algorithms and datastructures collection\n\n## algorithms\n\n| | **insertion sort** | **merge sort** | **heap sort** | **quick sort** | **counting sort** | **bucket sort** |\n|------------|-----------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|\n| C | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/insertion_sort/insertion_sort.c) | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/merge_sort/C/merge_sortv2.c) | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/heap_sort/heap_sort.c) | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/quick_sort/quicksort.c) | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/counting_sort/counting_sort.c) | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/bucket_sort/bucket_sort.c) |\n| Python | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/insertion_sort/insertion_sort.py) | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/merge_sort/python/merge_sortv3.py) | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/heap_sort/heap_sort.py) | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/quick_sort/quicksort.py) | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/counting_sort/counting_sort.py) | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/bucket_sort/bucket_sort.c) |\n| Scala | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/insertion_sort/insertion_sort.scala) | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/merge_sort/scala/merge_sort.scala) | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/heap_sort/heap_sort.scala) | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/quick_sort/quicksort.scala) | ❌ | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/bucket_sort/bucket_sort.scala) |\n| TypeScript | ❌ | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/merge_sort/TS/merge_sort.ts) | ❌ | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/sorting_algorithms/quick_sort/quicksort.ts) | ❌ | ❌ |\n| Java | | | | | | |\n\n## datastructures\n\n| | **linked list** | **stack** | **binary tree** | **binary search tree** | **priority queue** | **hash table** |\n|------------|-----------------|-----------|-----------------|------------------------|--------------------|----------------|\n| C | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/tree/main/datastructures/linked_list/C) | ❌ | ❌ | ❌ | ❌ | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/datastructures/hash_table/hash_table.c) |\n| Python | ❌ | ❌ | ❌ | ❌ | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/datastructures/priority_queue/priority_queue.py) | ❌ |\n| Scala | ❌ | ✅ [code](https://github.com/KaiErikNiermann/algorithms-practice/blob/main/datastructures/stack/stack.scala) | ❌ | ❌ | ❌ | ❌ |\n| TypeScript | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |\n\n### Notes\n\nMy focus here was to have a collection of algorithms written in different langauges as a means to understand the algorithms while at the same time praciticing programming languages. Additionally I wanted to focus on simplicity and clarity of each implementation.\n\nSome algorithms have different versions, usually earlier versions are less clean but sometimes easier to understand implementations.\n\nI will likely add to this collection over time. If there are any errors please do say so and I will try my best to correct them.\n\n### References\n  \n- [_Introduction to Algorithms, Fourth Edition_](http://mitpress.mit.edu/9780262046305/introduction-to-algorithms/)\n- [_Wikipedia_](https://en.wikipedia.org/wiki/Category:Algorithms_and_data_structures)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaierikniermann%2Falgorithms-practice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaierikniermann%2Falgorithms-practice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaierikniermann%2Falgorithms-practice/lists"}