一、数据结构导论
1、数据结构的一些概念:
数据--(数据对象)-- 数据元素--数据项
数据对象:就是我们需要研究的东西,一般来说数据对象代表这一些有共性的东西,比方说:学生的成绩就可以作为数 据对象,个人觉得一般数据以数据元素作为对象。
数据元素:元素就是组成数据的基本单位,比方说学生的成绩分为语文成绩、数学成绩;这其中语文和数学成绩就可以当作 是数据元素。
数据项:数据项就是组成数据元素的。比方说数学成绩分为 附加题所得分和非附加题所得分。这其中所说 的附加题得分 就是数据项。
数据元素和数据项等这些概念都是相对的,比如说,我可以说成绩是数据元素,那么语文、数学的成绩就是数据项了。
2、数据结构的分类
数据结构的分类可以从逻辑方面和物理方面(存储方式)。
逻辑结构:数据元素间的逻辑关系
1、集合结构:
所有的元素同属于一个集合,之间不存在任何关系。比如说:语文成绩、数学成绩同属于成绩这个集合, 但是之间又不存在内容的关系
2、线性结构:
线性结构是说数据元素间是一对一的关系。
3、树状结构:
树状结构是说数据元素间是一对多的关系。
4、图形结构
图形结构是说数据元素间是多对多的关系。
物理结构:数据在计算机中存储形式
1、顺序式
所有的元素放在一个连续的存储空间。之间的关系即如同排队的关系。
2、链表式
元素存储的位置不连续,但是通过指针的方法来确定下一个数据的位置。
二、算法
1、 时间复杂度:
时间复杂度的估算是以大O记法来表示的。
大O阶方法的推导如下:
1、用常数1取代运行时间中所有的加法常数
2、在修改后的运行次数的函数中,只保留最高阶项。
3、如果最高阶项存在且不是1,则去除与这个项相乘的常数。
注:以上内容是学习程杰的《大话数据结构》过程中所写,如需详细阅读还望购买作者的书籍,博客中有很多不懂不足之处,还望大家指出。