# DataStruct **Repository Path**: yumoz/data-struct ## Basic Information - **Project Name**: DataStruct - **Description**: 数据结构及算法练习题总结 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-04-08 - **Last Updated**: 2026-06-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: 二叉树, 红黑树, AVLTree, 链表 ## README # DataStruct 数据结构和算法练习项目,使用 CMake 构建管理。 ## 项目结构 ``` DataStruct/ ├── CMakeLists.txt # 根 CMake 配置 ├── cmake/ # CMake 工具模块 │ ├── YuMakeApp.cmake # 可执行目标构建模块 │ └── YuPath.cmake # 路径工具模块 ├── STL/ # 数据结构实现 (核心模块) │ ├── MyBinaryTree/ # 二叉树系 (BST、AVL、红黑树、哈夫曼、Map/Set) │ ├── MyTree/ # C语言版树实现 │ ├── MyList/ # 链表 (SList单链表、List双向链表) │ ├── MyGraph/ # 图 (邻接矩阵、邻接表、BFS、DFS) │ ├── MyHashTable/ # 哈希表 (链式、开放寻址、BloomFilter等) │ ├── MyQueue/ # 队列 │ ├── MyStack/ # 栈 │ ├── MySeqList/ # 顺序表 │ ├── MyHeap/ # 堆 (基础堆、高级堆) │ ├── MySort/ # 排序算法 (冒泡、插入、选择、归并、快排等) │ ├── MyString/ # 渐进式String实现 (0-8共9阶段) │ ├── MyVector/ # Vector容器模板类 │ ├── MySTLContainer/ # STL容器演示 (array、deque、list、map等) │ ├── MyBloomFilter/ # BitSet + BloomFilter │ └── utils/ # 公共头文件 ├── docs/ # 文档资源 └── bin/ # 编译输出目录 ├── debug/ # Debug 版本可执行文件 └── release/ # Release 版本可执行文件 ``` ## 构建说明 ### 环境要求 - CMake 3.20+ - Visual Studio 2022 或其他支持 C++11 的编译器 ### 构建步骤 ```bash # 配置项目 cmake -S . -B build # 编译项目 (Debug 模式) cmake --build build --config Debug # 编译项目 (Release 模式) cmake --build build --config Release # 编译特定子模块 (target 名即目录名) cmake --build build --config Debug --target AVLTree ``` ### 编译输出 编译后的可执行文件位于 `bin/debug/` 或 `bin/release/` 目录下。 > **注意**: 此项目**没有**集成自动化测试框架。每个子模块以独立可执行文件运行,测试代码写在各自的 `main()` 函数中。 ## 数据结构列表 ### 线性结构 - **顺序表** (SeqList, SeqListI) - **单链表** (SList) - **双向链表** (List) - **栈** (Stack, StackAchieve) - **队列** (Queue, QueueAchieve) - **Vector** (MyVector - yumoz::vector模板类) - **String** (MyString - 渐进式实现0-8) ### 树形结构 - **二叉树** (BinaryTree) - **二叉搜索树** (SearchBinaryTree) - **AVL树** (AVLTree, AVLTree_k) - **红黑树** (RBTree) - **哈夫曼树** (DemoHuffmanTree) - **堆** (Heap, HeapAdvanced) - **优先队列** (PriorityQueueAchieve) ### 图结构 - **图** (MyGraph) - 邻接矩阵、邻接表、BFS、DFS ### 哈希表 - **数组哈希表** (array_hash_map) - **哈希表** (hash_map) - **链式哈希表** (hash_map_chaining) - **开放寻址哈希表** (hash_map_open_addressing) - **简单哈希函数** (simple_hash) - **内置哈希** (built_in_hash) - **C语言链式哈希表** (HashBucket) - **高级哈希表** (HashTableAdvanced - 含泛型迭代器) - **布隆过滤器** (BloomFilter + BitSet) ### 排序算法 - **冒泡排序** (BubbleSort) - **插入排序** (InsertSort) - **选择排序** (SelectSort) - **综合排序** (Sort) - **新排序算法** (NewSort) ### STL容器演示 - **array** (01_array) - **deque** (02_deque) - **forward_list** (03_forward_list) - **list** (04_list - yumoz::list自定义实现) - **map** (05_map) - **queue** (06_queue) - **set** (07_set) - **stack/queue/priority_queue** (08_stack - 含自定义适配器实现) - **unordered_map** (09_unordered_map) - **unordered_set** (10_unordered_set) ## License MIT