kangjianwei/Data-Structure
Free《数据结构》-严蔚敏.吴伟民-教材源码与习题解析
FreeFree tier
About kangjianwei/Data-Structure
This GitHub repository provides the complete source code and exercise solutions for the classic Chinese textbook 'Data Structures (C Language Version)' by Yan Weimin and Wu Weimin. It accompanies both the main textbook and the accompanying problem set. The project includes implementations of data structures and algorithms (e.g., linear lists, stacks, queues, strings, arrays, trees, graphs) presented in multiple IDE variants (CFree, Dev-C++, CLion, Visual C++) to support different development environments. The code is intended for personal learning and reference, with a focus on correctness and readability. It also contains textual solutions for non-code exercises from the problem set.
Key Features
Complete source code for all data structures and algorithms from the textbook
Exercise solutions for the 'Data Structures Problem Set' (both code and textual answers)
Multiple IDE variants: CFree, Dev-C++, CLion, Visual C++ 2010
Modular structure with each module runnable independently
Heavy use of comments and inline documentation for clarity
Commit history with emoji notation to track changes (init, docs, new code, refactor, etc.)
Available under a personal-learning, non-commercial license
Pros & Cons
Pros
- Provides complete and well-organized source code for every major data structure and algorithm in the textbook
- Available in multiple IDE versions to accommodate different development environments
- Active community (3.8k stars, 983 forks) indicating widespread use and trust
- Includes both code and textual problem solutions, covering the full scope of the textbook and problem set
- Code is written with readability in mind, with extensive comments and alignment to the textbook's pseudocode
- Free and open source
Cons
- Code has not been fully tested for edge cases; boundary checks are often omitted (focus on correctness, not robustness)
- The 'CFree' version is no longer maintained and may have compatibility issues on modern Windows (e.g., Windows 10)
- Documentation is primarily in Chinese, limiting accessibility for non-Chinese readers
- Commercial use is explicitly prohibited; only personal learning is permitted
Best For
Learning data structures and algorithms using a classic Chinese textbookReference for students taking data structure courses in Chinese universities (especially those using Yan Weimin's book)Preparing for computer science exams (e.g., Chinese National Computer Rank Examination Level 2)Self-study of C language implementations of common data structuresTeaching assistant or instructor looking for verified source code examples
FAQ
Which IDE should I use with this repository?
The repository provides code for CFree, Dev-C++, CLion, and Visual C++. For beginners, Dev-C++ is recommended due to its compatibility with Windows 10. CLion is suggested for those familiar with CMake. Visual C++ 2010 is required for some exam preparations.
Is all the code fully tested?
No. The code has not been fully tested; many implementations lack boundary checks as the primary goal is to demonstrate algorithm correctness. Users are encouraged to report bugs via GitHub Issues.
Can I use this code for commercial purposes?
No. The repository explicitly states that the content is for personal learning only and cannot be used for commercial purposes.
How is the repository structured?
The repository is organized by chapter (e.g., 01 Introduction, 02 Linear List, 03 Stack and Queue, etc.) and within each chapter there are subdirectories for each data structure. Code is provided under four IDE-specific branches (CFree, Dev-C++, CLion, VisualC++). The '习题解析' (Exercise Solutions) folder contains textual answers for non-code problems.