大家好,这是本人的第四篇笔记,记于2022.9.6,目的是分享今天的学习内容,由于刚刚接触这门课程,如果有什么错误或者有什么表达不清楚的地方,请斧正,谢谢。
书接上文。
在上文中,算法在设计程序的影响已经很明显了,所以我们来谈谈数据结构。
在数据结构(绪论篇)(上)(2022.8.29大二《数据结构》学习(绪论篇)(上)_什么鬼,又出Bug了的博客-CSDN博客这是一篇《数据结构》的学习笔记。在本人的第一篇笔记上,我写了一些关于我在大一暑假时对于编程的一些理解,然而在今天早上领书的时候顺便瞟了几眼《数据结构》这本书,发现至少在绪论的内容上和我之前的一些感悟有相同之处,所以我认为我之前的路数是正确的,那我就接着走下去。......https://blog.csdn.net/qq_63123543/article/details/126592376)中,我举了一个鸡兔同笼的问题,很明显它是一个数值问题,但是在现实中并不是所有的问题都只有数值问题的。
举个栗子。
七巧板问题。
他是指一块七巧板上相邻的板块不可以使用相同的颜色。如图,我们将颜色分为1,2,3,4,等等。那么请问你最少要使用几种颜色呢?(不要百度)
现在,我们有五分钟的时间可以思考。
接下来请投票。
很明显我们可以使用4种颜色就完成涂色,但是涂色的结果有多少种呢?
经过了前面的问题,我们可以清楚的知道,虽然这个问题的结果是一个数字,但是我们无法使用任何的代数运算来解决他(咱就是说,我不知道有没有运算式可以解决这个问题)。
那么怎么办呢?
在大一的数学课中,我们接触到了一个数学模型——图,我们可以使用图来解决这个问题(这个模型是怎么实现的我现在也不知道,所以也就不展开描述了)
所以模型如下,
所以,在现实生活中我们所遇到的不仅仅是数值问题,虽然我们是计算机,但是我们不仅仅只能计算数值问题,非数值问题也要可以解决才行。
那非数值问题怎么解决呢?
在大千世界中,我们可以将物体的关系分为
1.没有关系
2.一对一关系
3.一对多关系
4.多对多关系
他们分别使用
1.集合结构
2.线性结构
3.树结构
4.图结构
使用对应的数据结构可以极大的加快你的运算速度和改进你的解题思路。
记于2022.9.6,与诸君共勉。