2019/11/15
前言:本篇内容是根据郝斌老师数据结构的学习笔记
如有侵权请联系我删除:1462922269@qq.com
如想转载请注明出处谢谢!
数据结构概述
定义:我们如何把现实中大量而复杂的问题,以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为现实某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的相应操作,这个相应的操作也叫算法
这里举四个例子:
小区里面有很多不同的楼,现在要假设要在这些楼之间修路,要保证修的路路程最短,而且它们都要是相通的,
或者说给小区里面设置1个快递点和1个超市点,求这两个结点和其他结点的最短路径,以上两个问题用数组、链表、树都解决不了,只能用图来解决
什么是图?图就是里面任何一个结点都可能和另外的结点产生联系
通过以上的例子,那么什么是数据结构?
如果想通过计算机解决一个实际问题的时候,想把一个现实中非常复杂的问题,转换成数据,如何保存在计算机内存里面,这就是第一个要解决的问题,如果连数据都保存不到计算机里,那么怎么进行操作呢?操作就无从谈起了,这就是数据结构需要研究的问题。
前面的定义说过,我们如何把现实中大量而复杂的问题,特定的数据类型和特定的存储结构保存到主存储器(内存)中,
换一句话说:特定的数据类型就是:个体(就拿数组举例,每1个体是不是就是1个元素?,再拿链表举例,每1个体就是一个结点)
特定的存储结构就是:个体之间的关系(数组举例,他们个体之间的关系是什么?连续存储。再拿链表举例,个体之间的关系是什么?是指针)
总之:个体如何来存储?个体和个体之间的关系如何来进行存储?把这两个问题解决了,那么数据的存储问题就解决了
数据结构 = 个体 + 个体的关系
算法 = 对存储数据的操作(存储的方式不一样,那么算法就不一样,比如增删改查对于数组和链表来说,是完全不同的算法)---狭义的算法
end