什么是数据结构? 数据结构,就是数据的组织形式。这样说不够通透,通俗点说,就是把信息(一堆数据)捏成什么样子,以便维护。比如: 一个学生的数据结构,如何设计呢? 我们假设一个小需求:统计本班学生男女比例。 针对这个需求,学生的姓名年龄都不重要,只关心学生的性别就可以了,于是,一个学生的数据结构设计如下就够了。 student { sex; }添加一个需求:统计语文成绩在90分的学生有多少。 student { sex; scoreChinese; }上面的数据结构是非常简单的,实际项目中,数据结构一般要复杂一些,比如,王者荣耀的英雄模型数据结构如何设计呢? role { role_name; role_type; // 法师 / 射手 / 战士 / 刺客 role_skill { skill type; // AOE / 指向性 skill scope; // 技能范围 skill cool_down; // 技能CD .... } .... }实际设计会复杂很多,这里只是为了说明,数据结构到底是什么:以什么结构去组织数据,以方便使用和维护。 可以看到,以上的数据结构,都是专用的数据结构,它专门为特定需求而服务。还有一些通用且经典的数据结构,也是接下来重点要讨论的:表、栈、队列、树、哈希散列。 什么是好的数据结构? 既然数据结构是帮助设计者实现功能的数据集合,那如何设计好的数据结构呢? 清晰、高效、满足要求基础上逻辑尽可能简单。 (责任编辑:) |