- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 问题求解与计算思维; 中国自古就有喝茶的历史习俗,有同学知道泡茶的流程吗?
烧水→温具→置茶→冲泡→奉茶→赏茶→续水; 有一个牧羊人带着一只羊,一匹狼和一颗大白菜准备过河,他找到一只很小的船,每次只能带一样东西过去,可是如果让狼与羊单独在一起,狼会吃羊,让羊与白菜单独在一起,羊会吃白菜,牧羊人应如何过河?;1、算法
2、计算思维;算法的由来;算法的定义:
一个有穷规则的集合,规则规定了一个解决某一特定类型问题的运算序列。
定义了任务执行/问题求解的一??列步骤。
算法的特征:
输入:有零个或多个的输入。
输出:有一个或多个的输出。
有穷性:一个算法在执行有穷步之后必须结束。
确定性:算法的每一个步骤必须要确切地定义,不得有歧义性。
可行性:算法原则上能够精确地运行 。;算法描述;算法设计
数学建模
数据结构
控制流程
算法策略
遍历
搜索
递归
动态规划
贪心
…….;算法的正确性:
问题求解的过程、方法——算法是正确的吗?算法的输出是问题的解吗?
20世纪60年代,美国一架发往金星的航天飞机由于控制程序出错而永久丢失在太空中
算法的效果评价:
算法的输出是最优解还是可行解?如果是可行解,与最优解的偏差多大?
两种方法:
分析方法:利用数学方法证明
仿真分析方法:产生或选取大量的、具有代表性的问题实例,利用该算法对这些问题实例进行求解,并对算法产生的结果进行统计分析;算法的效率:时间效率和空间效率
时间复杂性:如果一个问题的规模是n,解这一问题的某一算法所需要的时间为T(n),它是n的某一函数,T(n)称为这一算法的“时间复杂性”。
“大O记法”:
基本参数 n——问题实例的规模
把复杂性或运行时间表达为n的函数。
“O”表示量级 (order),允许使用“=”代替“≈”,如n2+n+1=Ο(n2)
算法的空间复杂度:算法在执行过程中所占存储空间的大小。;算法的复杂性;旅行商问题(Traveling Salesman Problem);旅行商问题;;
建立数学模型是求解算法类问题的第一步
数学模型:数学模型就是为了某种目的,根据对研究对象所观察到的现象及其实践经验,用字母、数学及其它数学符号建立起来的等式或不等式以及图表、图象、框图等归结成的一套反映对象某些主要数量关系的数学公式、逻辑准则和具体算法,用来描述客观事物的特征,其内在联系和运动规律。;数学模型及求解方法;问题求解中的数据组织及操纵;数据结构;数据结构;TSP问题求解的数据结构;问题求解中的过程控制;算法策略;算法策略——贪心;TSP问题贪心算法的模拟与分析;TSP问题算法的效率;问
题
求
解
总
结;1.科学与思维的含义
(1)科学
① 达尔文曾给科学下过一个定义:“科学就是整理事实,从中发现规律,作出结论”。
② 科学一般包含:自然科学、社会科学和思维科学。
(2)思维
① 思维是高级的心理活动,是认识的高级形式。
② 思维是人脑对现实事物概括、加工、揭露本质特征。
③ 人脑对信息的处理包括分析、抽象、综合、概括等。
2.人类文明进步和科学发现的三大科学
(1)理论科学、实验科学和计算科学作为科学发现三大支柱,正推动着人
类文明进步和科技发展。
(2)该说法已被科学文献广泛引用,并在美国得到国会听证、联邦和私人
企业报告的承同。 ;3. 科学思维
(1) 一般而论,三种科学对应着三种思维:
① 理论科学 ←→ 理论思维:
理论思维又叫推理思维,以推理和演绎为特征,以数学学科为代表。
② 实验科学 ←→ 实验思维:
实验思维又叫实证思维,以观察和总结自然规律为特征,以物理学科为
代表。
③ 计算科学 ←→ 计算思维:
计算思维又叫构造思维,以设计和构造为特征,以计算机学科为代表。
(2) 科学思维的含义及重要性:
① 一般指的是理性认识及其过程,也即经过感性阶段获得的大量材料,通
过整理和改造,形成概念、判断和推理,以反映事物的本质和规律。
② 国科发财〔2008〕197号文《关于创新方法工作的若干意见》认为“科学
思维不仅是一切科学研究和技术发展的起点,而且始终贯穿于科学研究
和技术发展的全过程,是创新的灵魂”。;计算思维;程序设计课程中问题求解能力培养 ;寻找两个正整数的最大公约数的欧几里德算法
输入:正整数M和正整数N
输出:M和N的最大公约数
算法过程:
Step 1. 将较大的数赋给M,较小的数赋给N;
Step 2. M除以N,记余数为R
Step 3. 如果R不是0, 将N的值赋给M, R的值赋给N, 返回Step 2; 否则, 最大公约数是N, 输出N, 算法结束;乒乓球挑选;解答1:
步骤1:将13个球分成4,4,4,1四份,分别记为a,b,c,d组;
步
原创力文档


文档评论(0)