{"id":22631569,"url":"https://github.com/felixzc/datastruct-practice","last_synced_at":"2025-03-29T04:19:58.717Z","repository":{"id":237380944,"uuid":"794388697","full_name":"FelixZC/datastruct-practice","owner":"FelixZC","description":"数据结构练习（C++版）","archived":false,"fork":false,"pushed_at":"2024-05-07T10:04:12.000Z","size":79,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-03T14:13:01.164Z","etag":null,"topics":["cpp"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mulanpsl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FelixZC.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":"2024-05-01T03:28:50.000Z","updated_at":"2024-06-15T13:52:24.000Z","dependencies_parsed_at":"2024-05-01T06:43:21.882Z","dependency_job_id":null,"html_url":"https://github.com/FelixZC/datastruct-practice","commit_stats":null,"previous_names":["felixzc/datastruct-practice"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FelixZC%2Fdatastruct-practice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FelixZC%2Fdatastruct-practice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FelixZC%2Fdatastruct-practice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FelixZC%2Fdatastruct-practice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FelixZC","download_url":"https://codeload.github.com/FelixZC/datastruct-practice/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246136361,"owners_count":20729164,"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":["cpp"],"created_at":"2024-12-09T02:09:44.704Z","updated_at":"2025-03-29T04:19:58.697Z","avatar_url":"https://github.com/FelixZC.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 数据结构练习（C++版）\n\n### 创建目的\n1. 代码练习\n2. 变更记录\n\n### 说明\n在工作中，尤其是软件开发领域，数据结构和算法的选择与应用对于提升代码效率、保证系统性能至关重要。以下是一些在实际工作中可能会频繁遇到或使用的数据结构和算法：\n\n### 常见数据结构\n\n1. **数组/列表**：基础数据结构，用于存储元素集合，支持随机访问。在处理索引操作频繁的场景中非常有用。\n\n2. **栈**：后进先出（LIFO）的数据结构，常用于实现函数调用栈、撤销/重做功能、括号匹配等。\n\n3. **队列**：先进先出（FIFO）的数据结构，用于任务调度、缓冲区管理等。双端队列（Deque）允许两端操作，增加了灵活性。\n\n4. **链表**：非连续存储，每个节点包含数据和指向下一个节点的指针。适合频繁插入删除的场景，如实现LRU缓存。\n\n5. **哈希表**：通过键值对存储数据，提供快速的查找、插入、删除操作。广泛应用于缓存、数据库索引等。\n\n6. **树结构**：\n   - **二叉树**：每个节点最多有两个子节点，常用于实现查找、排序（如二叉查找树）。\n   - **红黑树**、**AVL树**：自平衡二叉查找树，保证查询效率，适用于需要动态插入删除且保持排序的数据集。\n   - **B树、B+树**：适用于磁盘存储和数据库索引，优化了大容量数据的访问效率。\n   - ** Trie树**：又称前缀树，用于高效存储和检索字符串，常用于自动补全、关键词搜索等。\n\n7. **图**：用于表示对象之间的复杂关系，如社交网络、路由系统。图遍历（DFS、BFS）、最短路径算法（Dijkstra、Floyd-Warshall、A*）等在多种场景中应用广泛。\n\n### 常用算法\n\n1. **排序算法**：如冒泡排序、快速排序、归并排序、堆排序等，根据数据特性和性能要求选择合适的算法。\n\n2. **查找算法**：二分查找、哈希查找、图的遍历等，适用于不同数据结构的高效检索。\n\n3. **递归与分治**：递归常用于解决树和图的问题，分治算法如归并排序、快速排序，将大问题分解为小问题解决。\n\n4. **动态规划**：解决具有重叠子问题和最优子结构的问题，如背包问题、最长公共子序列等。\n\n5. **贪心算法**：每一步都做出局部最优选择，期望达到全局最优解，如活动安排问题、哈夫曼编码等。\n\n6. **回溯算法**：用于解决约束满足问题，如八皇后问题、迷宫寻路等，通过试探性构造解来寻找所有可能解。\n\n7. **堆算法**：维护一个近似完全二叉树结构，常用于优先队列、堆排序、Top-K问题等。","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelixzc%2Fdatastruct-practice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffelixzc%2Fdatastruct-practice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelixzc%2Fdatastruct-practice/lists"}