- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 1 章
进入算法的世界
计算机(computer ),或者被人们称为电脑,是一种具备了数据计算与信息处理功能的电子设
备。对于一个有志于从事信息技术专业领域的人员来说,程序设计是一门和计算机硬件与软件息息
相关的课程,称得上是从计算机问世以来经久不衰的热门学科。
随着信息与网络科技的高速发展,在目前这个物联网 (Internet of Things ,IOT )与云运算 (Cloud
Computing )的时代(见图 1-1 ),程序设计能力已经被看成是国力的象征,有条件的中小学校都
将程序设计(或称为“编程”)列入学生信息课 的学习内容,在大专院校里程序设计则不再只是信
息技术相关院系的“专利”了。程序设计已经是接受全民义务教育的学生们所应该具备的基本能力,
只有将“创意”经由“设计过程”与计算机相结合,才能让新一代人才轻松应对这个快速变迁的云
计算时代。
图 1-1 云计算加速了全民进入程序设计的时代
没有最好的程序设计语言,只有是否适合的程序设计语言。程序设计语言本来就只是工具,
2 | 图解算法——使用 Python
从来都不是算法的重点,我们知道一个程序能否快速而高效地完成预定的任务,算法才是其中关键
的因素。本章将介绍算法的基本概念和算法性能的分析,并介绍一些基本的数据结构,以作为往后
章节讨论的基础,让读者逐步认识算法。
提示
“云”其实就是泛指“网络”,因为工程师在网络结构示意图中通常习惯用“云朵状”图来
代表不同的网络。云运算是指将网络中运算能力提供出来作为一种服务,只要用户可以通
过网络登录远程服务器进行操作,就能使用这种运算资源。
Internet of Things IOT
物联网( , )是近年来信息产业中一个非常热门的话题,各种配备了
传感器的物品,例如 RFID 、环境传感器、全球定位系统(GPS )等,与因特网结合起来,
并通过网络技术让各种实体对象、自动化设备彼此沟通和交换信息,也就是通过网络把所
有东西都连接在一起。
1.1 生活中到处都是算法
算法(algorithm )是计算机科学中程序设计领域的核心理论之一。每个人每天都会用到一些算
法,算法也是人类使用计算机解决问题的技巧之一,但是算法并不是仅仅用于计算机领域中,包括
在数学、物理甚至是每天的生活中都应用广泛。在日常生活中就有许多工作都可以使用算法来描述,
例如员工的工作报告、宠物的饲养过程、厨师准备美食 的食谱、学生的课程表等,如今我们几乎每
天都要使用的各种搜索引擎都必须借助不断更新的算法来运行 (见图1-2)。
图 1-2 搜索引擎的运行也必须借助不断更新的算法
特别是在算法与大数据的结合下,这门学科演化出 “千奇百怪 ”的应用,例如当我们拨打某
个银行信用卡客户服务中心的电话时,很可能就先经过后 算法的过滤,帮我们找出一名最“合我
第 1 章 进入算法的世界 | 3
们 胃口”的客服人员来与我们交谈 。在互联网时代,通过大数据分析,网店还可以进一步了解产品
购买和需求的人群是哪些一类人,甚至一些知名 IT 企业在面试过程中也会测验新进人员对于算法
的了解程度 (见图1-3)。
图 1-3 一些知名 IT 企业面试也会测验对算法的了解程度
提示
大数据(Big Data ,又称海量数据),由 IBM 于 2010 年提出,是指在一定时效(Velocity )
Volume Variety Value Veracity
内进行大量(
文档评论(0)