在学习完c基础以及 io之后,又学习了数据结构,大概的了解了基本的数据结构和相应的一些算法。下面总结一下自己学习心得,
(1)为什么要学习数据结构
- 学习C语言是为了书写代码
- 学习数据结构是为了简洁高效的书写代码
(2)数据结构课程研究的问题
宗旨:研究的是数据的逻辑结构,存储结构及其操作。
数据:不再是一个单纯的数据,而是一个比较复杂的数据(一批)
逻辑结构:数据元素与数据元素之间的关系
关系:
1对1:线性关系---》顺序表,链表,栈和队列
1对多:非线性关系----》1对2:树(二叉树)
多对多:网状关系-----》图:不做研究
存储结构: 连续存储(顺序表),非连续存储(链表),散列存储,Hash存储
操作:创建,增加,删除,修改,查找,显示,销毁
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
数据结构重要性:
一 般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据上执行的运算才有意义。一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率。在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素。许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都是非常重要的。