{"id":20689244,"url":"https://github.com/frank-wong-cn/datastructures-cpp","last_synced_at":"2025-10-20T00:54:45.776Z","repository":{"id":158548861,"uuid":"416369217","full_name":"Frank-Wong-CN/DataStructures-Cpp","owner":"Frank-Wong-CN","description":"(Re)learning data structures.","archived":false,"fork":false,"pushed_at":"2022-02-24T09:39:03.000Z","size":228,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-17T16:58:14.245Z","etag":null,"topics":["algorithm","avl-tree","data-structures","hashmap","linked-list"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Frank-Wong-CN.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-10-12T14:24:29.000Z","updated_at":"2023-03-05T11:40:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"bd7e3790-c8df-4bbf-8864-89e3d34303a3","html_url":"https://github.com/Frank-Wong-CN/DataStructures-Cpp","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/Frank-Wong-CN%2FDataStructures-Cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frank-Wong-CN%2FDataStructures-Cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frank-Wong-CN%2FDataStructures-Cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frank-Wong-CN%2FDataStructures-Cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Frank-Wong-CN","download_url":"https://codeload.github.com/Frank-Wong-CN/DataStructures-Cpp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242951082,"owners_count":20211572,"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":["algorithm","avl-tree","data-structures","hashmap","linked-list"],"created_at":"2024-11-16T23:08:56.855Z","updated_at":"2025-10-20T00:54:40.721Z","avatar_url":"https://github.com/Frank-Wong-CN.png","language":"C","readme":"# C++ Implementations of Common Data Structures\n\nThis implementation is partially based on *Data Structures and Algorithm Analysis in C Second Edition* by Mark Allen Weiss.\n\n## Content\n\nCh2: Intro to Algorithms, a few utility functions to help me calculate and display execution time of a function\n\nCh3: Linked List, Stack and Queue\n\nCh4: N-ary Tree, Binary Tree, Binary Search Tree, AVL Tree, B+Tree\n\nCh5: Hashing (Not Implemented, but I implemented my own HashMap using DJB hash function)\n\nCh6: Heap and Priority Queue (Not Implemented)\n\nCh7: String (Implemented) and Multi-Dimensional Array (Not Implemented)\n\nCh8: Adjacency List as Graph (Partially Implemented)\n\nCh9: Sorting Algorithm\n\n- BubbleSort\n- RadixSort\n- InsertionSort, ShellSort\n\nCh10: Indexing Algorithm (Not Implemented)\n\nCh11: Advanced Structures and Designing Algorithms (Not Implemented)\n\n## Directories\n\nChX: Chapter files and codes\n\nCommonDS_v2: Refactored DS library for other uses\n\nHashMap: An hash map implementation using AVL tree and linked list\n\nUtils.hpp: Utility functions such as memory, log, timer and random array generator\n\n## How to use for other purposes\n\nDownload CommonDS_v2/CommonDS_v2. The ds.h is the interface header file including all data structure headers and sources. Users can also include only needed headers and sources instead of ds.h.\n\nds.h also defines several macros for shorter class names and function names. The reason for such long original names is to avoid name collisions. Users may customize their own shorter versions by renaming the macros in ds.h.\n\nTo expand node capabilities, create custom node_impl* or tnode_impl* file and replace the included one in ds.h.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrank-wong-cn%2Fdatastructures-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrank-wong-cn%2Fdatastructures-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrank-wong-cn%2Fdatastructures-cpp/lists"}