Git Product home page Git Product logo

data-structure's Introduction

《数据结构》课本源码与习题解析

项目介绍

本项目与教材《数据结构-C语言版》[严蔚敏,吴伟民版]以及《数据结构题集-C语言版》[严蔚敏,吴伟民,米宁版]配套。

数据结构教材 数据结构题集
数据结构教材 数据结构题集

项目结构

本项目分为4个版本,分别是:CFreeDev-C++CLionVisualC++,其中:

  • CFree 版本是早期上传的完整版本,该版本在CFree这个IDE下测试通过。此版本中的代码虽有瑕疵,但不会再维护,新的更新会在下面三个分支版本中呈现。
  • Dev-C++ 版本是指在Dev-C++这个IDE下测试通过的版本。
  • CLion 版本是指在CLion这个IDE下测试通过的版本。
  • VisualC++ 版本是指在Microsoft Visual C++ 2010这个IDE下测试通过的版本。

IDE的选择

CFree是一个优秀的国产软件,麻雀虽小五脏俱全,非常适合新手使用。不过该产品早已停更,在win10上有些兼容问题,需要调教。

Dev-C++是一个开源软件,同CFree一样小巧实用。最关键的是,可以兼容win10,推荐使用。

CLion需要掌握一点cmake知识,对笔记本性能要求也略高。不过JetBrains系列的产品,功能优秀没得说,强烈建议尝试。

Microsoft Visual C++是微软出品,该系列号称地表最强,不过复杂度也是很高,对于新手并不友好,需要耐心琢磨。如果将来不是走C/C++/C#等路线,可以先不使用(注:从2018年开始,计算机二级C语言项目的考试中,已将VC++6换成了Microsoft Visual C++ 2010。所以如果有考级需求的同学,请自行熟悉该IDE)

注:
1. "CFree"是完整版本。"Dev-C++"/"CLion"/"VisualC++"是新增的版本,后续会抽空更新,直到最终取代"CFree"版本。
2. 这4个版本各自独立,没有任何依赖关系,可单独运行/测试。

更新目标

总的目标是保障正确性,提高可读性,降低学习难度,具体来说包含以下几点:

  1. 修复一些已知/潜在的BUG
  2. 简化源码之间的引用关系,争取每个模块都可以单独运行测试
  3. 修剪被引用源码中的次要内容,使得焦点更聚集,重点更突出
  4. 增加注释与帮助信息,使源码展示更友好

使用方式

  • 开箱即用

将源码克隆/下载到本地后,可以查看各分支内的README.md文件以获取帮助信息

注意事项

  1. 本内容仅限个人学习使用,未经作者许可,不得用于商业用途
  2. 源码仅供参考,别抄作业
  3. 鼓励在Github提交Issues来反馈,在博客上发私信未必可以及时看到

Commit图例

序号 emoji 在本项目中的含义 简写标记
(0) 🎉 初始化项目 :tada:
(1) 📝 更新文档,包括但不限于README :memo:
(2) 💡 发布新的源码 :bulb:
(3) ♻️ 重构,主要指修改已有的源码与注释 :recycle:
(4) ✏️ 校对,主要指更正错别字、修改源码排版、更新注释等 :pencil2:
(5) 🐛 修复代码中的BUG :bug:

相关链接

个人博客

脚注

Commit信息中的emoji参考来源:

附:教材源码目录

内容 包含算法 备注

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.