程序 = 数据结构 + 算法

本文探讨了如何通过数据类型抽象真实世界,以尼古拉斯·沃斯的'程序=数据结构+算法'为指导,讲解了基本数据类型、复合数据结构及控制结构在Go语言中的应用。重点在于算法的抽象与计算机中的实现,如分支(if、switch)和循环(for)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们编写程序的目的就是与真实世界交互,解决真实世界的问题,帮助真实世界提高运行效率与改善运行质量。所以我们就需要对真实世界事物体的重要属性进行提炼,并映射到程序世界中,这就是所谓的对真实世界的抽象。

不同的数据类型具有不同的抽象能力,比如整数类型 int 可以用来抽象一个真实世界物体的长度,string 类型可以用来抽象真实世界物体的名字,等等

1984 年图灵奖获得者、著名计算机科学家尼古拉斯·沃斯(Niklaus Wirth)提出过著名的“程序 = 数据结构 + 算法”的公式。Go 语言的基本数据类型和复合数据类型,这些对应的就是公式中数据结构,通过这些数据类型我们可以建立起复杂的数据结构

那么公式中的算法呢?算法是对真实世界运作规律的抽象,是解决真实世界中问题的步骤。在计算机世界中,再复杂的算法都可以通过顺序、分支和循环这三种基本的控制结构构造出来。

分支:if、switch语句
循环:for

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值