铜仁市论坛

首页 » 分类 » 定义 » 算法和数据结构的关系
TUhjnbcbe - 2021/4/28 21:06:00
算法和数据结构的关系

前段时间小冷说了下之前常用的一些算法,不过还没说完,因为好多像小冷一样重新学习算法和数据结构的童鞋一样,有很多的疑惑,为啥算法和数据结构会扯上关系?

而且每次在学习算法时候都会穿插的讲一下数据结构,比如堆,栈,队列,红黑树,二叉数,链表等等。这些到底和算法有什么关系?在大学时候小冷学的基本上都还给了老师,最近又重新捡起研究一下。在泥泞中闯荡了一圈之后思想上可能发生了一些变化吧,看问题尽量透过现象去看本质。站在全局或者站在不同立场思考一些东西。还是老的套路小冷先提出几个问题。

什么是数据结构?为什么要学数据结构?如何用数据结构?数据结构和算法有什么区别?

首先小冷先按自己的理解回答一下以上的几个问题,然后在并简单的说一下数据结构,如果各位看官和小冷有不同的想法,或者说小冷说的不对,欢迎留言指正谢谢

数据结构是一种有规律的信息,比如你的手机号或者你的年月日都是属于数据结构的一种,都遵循着一些规律,先不用去管这些规律是什么,总之是遵循着某些规律,记得**在上高中是时候我们物理老师说过一句话“这个世界就是在寻找着各种规律”**现在认为这句话很具有哲学意味,确实如此,小到质子夸克,大到星辰宇宙。学习数据结构让我们思路清晰的,高效率高质量的解决一下问题数据结构在互联网中使用较为广泛,当然生活中也有很多,在存储数据中,我们可以根据不同的数据和业务需求来指定相应的数据结构来进行高效的操作,比如前面讲的**散列表(哈希表)**这种结构的数据可以使用key和value的结构,而value又可以使用链表结构等等,用来更方便的存储数据这里小冷说一下自己的了理解算法:

算法是一种思考问题的方法,如何去用最快的和最简单的方法去处理一个实际的问题,提一下这里又和(时间复杂度和空间复杂度)有关系

数据结构:

数据结构是在有好的解决问题思路(算法)之后然后结合实际的场景,来制定适合此场景的有规律的结构型数据

在这里数据结构和算法相结合可以实现:1+12的效果,再说的通俗点就是我在有了想法之后要用实际的东西去实施,比如我在安装门窗时候,我的想法是先根据实际的窗户大小来计算出一个省材料,省安装时间的门和窗户,然后在根据这个想法得到需要的数据后,在进行数据的规律排列,窗框长在那个位置长多少米,窗框宽在哪个位置需要多少米,而玻璃采用那种等等。(可能比喻不太准确)。

数据结构的分类:(以下结构如图)

逻辑结构

集合结构

集合结构中的数据元素除了同属于一个集合外,它们之间没有其他关系

线性结构

线性结构中的数据元素之间是一对一的关系

树型结构

树形结构中的数据元素之间存在一种一对多的层次关系

图形结构

图形结构的数据元素是多对多的关系

物理结构

顺序存储结构

是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的

列式存储结构

是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的

小冷的水滴

1
查看完整版本: 算法和数据结构的关系