构建之法阅读笔记01

关于第一章概论,我对于文段中提到的“程序=数据结构+算法”,还有“软件=程序+软件工程”进行了深思,对于第一句话,我还听过一句话,叫做数据结构和算法是程序员的天花板,至少现在我对于这句话还没有很深的理解,这学期学了数据库原理和计算机网络对于数据库原理中提到的概念层模型—实体联系模型到组织层模型再到物理存储。我想把这个应用到我们平常的软件开发过程,首先我们对现实世界中的问题进行抽象,建立概念层模型,也就是E-R模型,之后转换成关系模型(组织层模型),关系模型是数据库管理软件干的事情,之后是数据的物理存储结构和遍历方式也是由数据库管理系统自身决定了。在这里类比于咱们平常要写一个程序,咱们首先是不是得建模,把现实世界中的问题抽象成模型,然后到组织层,是不是咱们的数据结构和算法就发挥作用了,咱们用什么结构来存储,咱们用什么算法去遍历,去进行基本的增删改查操作。说到这里,无论是我们的程序还是数据库系统,归结还是对数据的操作,还有我们这学期的计算机网络,本质就是传输数据,那么讲到这里,归纳一下,我们的编程就是对数据的操作。

那么回到这里,很多程序员说学过的数据结构和算法没有用,我对此表示疑问,我们得编程只要涉及到数据,就设计到数据结构和算法,只是是简单的数据结构和算法,而你没有这个意识而已。我曾经选修了西方经济学,课上老师讲了一句话,让我受益匪浅,他说我们学习不同学问就是为了能够有不同得角度去看待和处理问题,那么我们学习我们本专业的知识就是能用我们系统的知识和能力去解决问题。在这里算法和数据结构就是我们系统知识架构里很重要也是很基础的一门课,万丈高楼都得从这里起。

原文地址:https://www.cnblogs.com/quxiangjia/p/11067532.html