{"id":13474508,"url":"https://github.com/shenxiangzhuang/toydata","last_synced_at":"2025-04-12T12:11:46.021Z","repository":{"id":112039485,"uuid":"199761835","full_name":"shenxiangzhuang/toydata","owner":"shenxiangzhuang","description":"Data Structures in Python","archived":false,"fork":false,"pushed_at":"2025-02-17T21:42:52.000Z","size":7680,"stargazers_count":10,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-20T09:16:07.606Z","etag":null,"topics":["algorithms","data-structures","python3","sphinx-doc","toy-project"],"latest_commit_sha":null,"homepage":"https://datahonor.com/toydata/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shenxiangzhuang.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":"2019-07-31T02:21:38.000Z","updated_at":"2024-12-24T00:33:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"a64f4de0-d151-4efe-bde0-5dab4cf6d44f","html_url":"https://github.com/shenxiangzhuang/toydata","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenxiangzhuang%2Ftoydata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenxiangzhuang%2Ftoydata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenxiangzhuang%2Ftoydata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenxiangzhuang%2Ftoydata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shenxiangzhuang","download_url":"https://codeload.github.com/shenxiangzhuang/toydata/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248565074,"owners_count":21125417,"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","python3","sphinx-doc","toy-project"],"created_at":"2024-07-31T16:01:12.824Z","updated_at":"2025-04-12T12:11:45.989Z","avatar_url":"https://github.com/shenxiangzhuang.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\n\u003cp align=\"center\" style=\"font-size:40px; margin:0px 10px 0px 10px\"\u003e\n    \u003cem\u003eToyData\u003c/em\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cem\u003eLearning Data Structures with toy code\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://codecov.io/gh/shenxiangzhuang/toydata\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://codecov.io/gh/shenxiangzhuang/toydata/branch/master/graph/badge.svg\" alt=\"Coverage\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://pypi.org/project/toydata\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://badge.fury.io/py/toydata.svg\" alt=\"PyPI Package\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n\n![](https://github.com/shenxiangzhuang/toydata/raw/master/toydata.png)\n\n\nThere are some simple implementations of classic data structures,\nand I am trying to do this with an easy-to-read style.\n\n\n# Installation\n`pip install toydata`\n\n\u003eNote that: If you had change the default mirror of pip to another one,\n\u003esuch as *https://pypi.tuna.tsinghua.edu.cn/simple* or *http://pypi.douban.com/simple* , you may have to install with `pip install toydata -i https://pypi.org/simple`\n\n\n# Documentation\n- [http://datahonor.com/toydata/](http://datahonor.com/toydata/)\n\n\n# Data Structures\n\n- [x] Stack: ArrayStack, LinkedStack\n- [x] Queue: ArrayQueue, ArrayDeque\n- [x] Deque: LinkedDeque\n- [x] Positional List: PositionalList\n- [x] Priority Queues: UnsortedPriorityQueue, SortedPriorityQueue, HeapPriorityQueue\n- [x] LinkedLists: Singlellist, Doublellist\n- [x] Hash Tables: ChainHashMap, ProbeHashMap, SortedTableMap\n- [x] Trees: LinkedBinaryTree\n- [x] Search Trees: AVLTreeMap, SplayTreeMap, RedBlackTreeMap\n- [x] Graph: Adjacency Map, DFS/BFS, Floyd-Warshall\n\n\n\n# References\n\n## Books\n\n[*Data Structures and Algorithms in Python, Michael T. Goodrich*](https://www.amazon.com/Structures-Algorithms-Python-Michael-Goodrich/dp/1118290275/ref=sr_1_4?qid=1580122939\u0026refinements=p_27%3AMichael+T.+Goodrich\u0026s=books\u0026sr=1-4\u0026text=Michael+T.+Goodrich)\nis the **main reference** of the implementations.\n\nNote that there is a book named [*Data Structures and Algorithms in C++, Michael T. Goodrich*](https://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/0470383275/ref=sr_1_2?qid=1580122957\u0026refinements=p_27%3AMichael+T.+Goodrich\u0026s=books\u0026sr=1-2\u0026text=Michael+T.+Goodrich) which use C++ to implement these data structures.\n\nAnd [*Data Structures Using C, Reema Thareja*](https://www.amazon.in/Data-Structures-Using-Reema-Thareja/dp/0198099304/ref=sr_1_1?qid=1580122713\u0026refinements=p_27%3AReema+Thareja\u0026s=books\u0026sr=1-1) is also a great book that implement these data structures using C.\n\n\n## Courses\nThere some courses that use the book(*Data Structures and Algorithms in Python*) as textbook.(Tell me please, if you know other courses use it:-)\n\n1. [数据结构与算法-Python (2019秋季)，武汉大学](http://xpzhang.me/)\n   \u003eGreat lecture notes.\n\n2. [Jenny's lectures CS/IT NET\u0026JRF](https://www.youtube.com/channel/UCM-yUTYGmrNvKOCcAl21g3w/playlists)\n   \u003eJenny makes everything clear！\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshenxiangzhuang%2Ftoydata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshenxiangzhuang%2Ftoydata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshenxiangzhuang%2Ftoydata/lists"}