引言
作为一名大学生,还有一个月便是难顶的期末考试,让我倍感压力山大。尽管网课实在是没有听讲,但生活总要心怀希望,相信着一个月,一个奇迹的我,开始了复习(预习)之路。感觉写博客是个挺好的学习方法,于是便开始了自己的数据结构复习,希望能有所收获吧。
正文
- 什么是数据结构
- 抽象数据类型
- 算法及其描述
- 算法分析基础
1、什么是数据结构
(1)基本术语
首先介绍一些术语
这些术语说没用好像也确实没什么用,但毕竟提出来有利于理解和交流,了解一下知道什么意思就行了,下面是一个帮助理解的示例。
(2)数据结构
然后正式介绍数据结构——这个让我又爱又恨的东西
定义:按某种逻辑关系组织起来的一组数据元素,按一定的存储方法存储计算机中,并在其上定义了一个运算的集合。
在此 ,要从了解数据结构的组成。其是有逻辑关系的数据元素,由于是在计算机上工作,所以要将其存储在计算机中,由此产生存储结构,同时,要注意还定义了运算。下图便展示了数据结构的组成。
(3)逻辑结构
从上面的定义我们知道数据结构是有逻辑结构的,从逻辑上看,数据结构就是带结构的数据元素的集合,因此有必要研究一下逻辑结构。
逻辑结构的类型
a. 集合结构
b. 线性结构
c. 树形结构
d. 图状结构
按照不同的分类标准还有不同的分法,这里不多说了。
这些数据结构以后都学到了,而且一个比一个难
生活不易,猫猫叹气
逻辑结构的表示
数据的逻辑结构是面向用户的
只要用户可以理解便可以
因此它有多种表示形式
a.表格
b.二元组
c.图形
(4)存储结构
数据在计算机存储器中的存储方式就是存储结构。它是面向程序员的。
存储结构是逻辑结构的映射。
需要满足两个要求:
- 存储所有元素
- 存储数据元素间的关系
在软件开发中,人们设计了各种存储结构。归纳为4种基本的存储结构。
我们这里主要学习前两种存储结构
顺序和链式存储结构
首先是顺序存储结构
从图中可以看出其的两个特点:
- 所有元素占用一整块内存空间。
- 逻辑上相邻的元素,物理上也相邻
然后是链式存储结构
链表的特点:
- 一个逻辑元素用一个结点存储,每个结点单独分配,所有结点的地址不一定是连续的
- 用指针来表示逻辑关系
(5)数据运算
对于这些运算
存储数据可以采取不同的存储结构
采取不同的存储结构其运算过程是不同的
因此可以得出结论:
- 同一逻辑结构可以对应多种存储结构
- 同样的运算,在不同的存储结构中,其实现过程是不同的
好了 第一部分的介绍到此为止
由于我写博客的经验稀少,所以其中出现的错误希望大家都够多多原谅。
s:内容来自于老师PPT及我自己的理解 如有错误希望大家能帮我指出 我在此先表示感谢