写在前面
本系列博文还是学习小甲鱼系列课程《数据结构与算法》的笔记,目的为了督促自己的学习,顺便记录学习进程!
系列视频地址:https://www.bilibili.com/video/av21828275
鱼C论坛:https://fishc.com.cn/forum.php
大家互相监督吧,有兴趣在下面留言哦!
起始于2018.11.19 于北交大机械楼1003B,计划于年前完成系列课程。
什么是数据结构?
程序设计 = 数据结构 + 算法
再简单说,数据结构就是“关系”;
逻辑结构和物理结构
逻辑结构:数据对象中,数据元素之间的相互关系;
物理结构:是指数据的逻辑结构在计算机中的存储形式;
四大逻辑结构
集合结构、线性结构、树形结构、图形结构
集合结构:集合结构中的数据元素除了同属于一个集合外,它们之间没有不三不四的关系。
线性结构:线性结构中的数据元素之间是一一对应的关系。
树形结构:树形结构中的数据元素之间,存在一种“一对多”的关系。像3p,4P等。
图形结构:图形结构中的元素是“多对多”的关系。
物理结构
根据物理结构的定义,实际上就是研究如何把数据元素存储到计算机的存储器中。存储器一般就是说内存。
存储器主要是针对内存而言,像硬盘、软盘、光盘等外部存储器的数据组织通常用文件结构来描述。(这里算是科普一下,哈哈)
物理结构有顺序存储结构、链式存储结构
顺序存储结构:把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。顺序结构类似于生活中排队。在c语言中比如:数组。
链式存储结构:把数据元素存储在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。
举例:在银行等地方排队,要先领号。在等待的时候,可以随便做自己想做的事情,到处走走。这时候,我只需要关注一下我的前一个号有没有被叫到。叫到了,就该轮到你了!链式存储结构就类似于此!
链式存储结构的数组元素的存储关系不能反映它们的逻辑关系,因此需要用一个指针存放数据元素的地址,这样就可以通过地址找到相关联数据元素的位置。
finished 2018.11.19 by songpl
★转载请注明出处