“算法初步”知识和方法梳理.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“算法初步”知识和方法梳理 算法的初步知识,主要包括算法的基本思想,基本结 构,基本语句等 .学习中应从以前学过的典型实例中, 分析其中蕴含的算法思想,体会算法通用化,机械化,程序化的特点以及对算法步骤“明确” “有效”“有限”的要求。 一.算法的基本思想 . (一)用自然语言描述算法的三个过程 明确问题的性质,分析题意 建立问题的描述模型 设计确定算法 (二)相关概念及特征 . 算法的定义: 广义的算法是指完成某项工作的方法和步骤,那么我们 可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做 菜的算法等等 . 在数学中,现代意义的算法是指可以用计算机来解决的 某一类问题的程序和步骤,这些程序或步骤必须是明确和有 效的,而且能够在有限步之内完成 . 算法的特征: ① 确定性: 算法的每一步都应当做到准确无误、 “不重不漏” .“不 重”是指不是可有可无的、甚至无用的步骤, “不漏” 是指 缺少哪一步都无法完成任务。 ② 逻辑性: 算法从开始的“第一步”直到“最后一步”之间做到环 环相扣。分工明确, “前一步”是“后一步”的前提, “后 一步”是“前一步”的继续 . ③ 有穷性: 算法要有明确的开始和结束,当到达终止步骤时所要解 决的问题必须有明确的结果,也就是说必须在有限步内完成 任务,不能无限制的持续进行 . 算法的描述: 自然语言、程序框图、程序语言 . (三)算法中的插入排序问题 插入排序的基本思想: 经过  i-1  遍处理后  ,L[1..i-1] 己排好序。 第  i 遍处理仅将  L[i] 插入  L[1..i-1] 的适当位置,使得  L[1..i] 又是排好序的序列。要 达到这个目的,我们可以用顺序比较的方法。首先比较 L[i] 和 L[i-1] ,如果 L[i-1]≤ L[i],则 L[1..i] 已排好序,第 i 遍处理就结束了;否则交换 L[i] 与 L[i-1]的位置,继续比较 L[i-1]和 L[i-2],直到找到某一个位置 j(1 ≤j≤ i-1),使得 L[j] ≤L[j+1] 时为止。 插入排序的常见方法: 有序列问题 .直接插入法 定义:在有序列中通过逐一比较法 步骤:通过有限次的操作,将某一数据插入原有序列的 一种算法。 ① 将数据 A 与原有序列中的数据从右至左依次比较, 直到发现某一数据,使得,把  A 插到的右边  . ② 如果数据  A 小于原有序列中所有的数据,则将  A 插 入到原序列的最左边  . .有序列折半插入排序法 1)概念:折半插入法的基本思想与二分法的思想一致,即逐渐缩小要比较的数据的范围,直到确定出所要插入数据的位置为止。 2)步骤: ① 先将新数据与有序列中“中间位置”的数据进行比 较。 ② 若有序列有 2n+1 个数据,则”中间位置”的数据指得的第 n+1 个数 ;若有序列有 2n 个数据,则”中间位置”的数据指得的第 n 个数, ③ 如果新数据小于“中间位置”的数据,则新数据插 入的位置应该在靠左边的一半; 如果新数据等于 “中间位置”的数据,则新数据插入到“中间位置”的数据的右边;如果 新数据大于“中间位置”的数据,则新数据插入的位置应该 在靠右边这一半。 ④ 也就是说,一次数据的比较就排除了数据列中一半 的位置,反复进行这种比较直到确定新的数据位置,像这样 的插入排序法就称折半插入排序法。 (2).无序列问题 a 利用有序列插入排序法来解决 . b 利用选择排序的方法来解决 .例如 ,给定一个无序列 { 23, 12, 56,40, 98,33, 56, 67},首先从这个数据中,选出 最小的数据放在第 1 个位置上,然后从余下的数据列中选出最小的数据放在第 2 个位置,反复进行上述步骤,直到数据 列成为有序列,通常这种排序方法叫选择排序 . 二、基本语句 . 算法语句最常见,最基本的有五种:输入语句、输出语句、赋值语句、条件语句和循环语句,它们是描述算法必不可缺少的 . (一)输入语句 从计算机外将数据送入计算机称为“输入” ,要完成输入需用到输入语句, 它是最简单的语句 .输入语句可同时输入多个变量的值,输入语句、 “提示内容”部分可以省略不写 . 算法中输入语句有两种:一种是只需要初始赋值,计算机根 据程序里的累加和循环等其它的语句便可以实现重复输入 运算 .另一种是变量和初值要根据情况经常的改变, 一般我们把程序和初始数据分开,每次运算时只需改变初始值而不需 改变程序, 只要程序运行时输入相应的数据即可 .所以,我们在算法程序中有时没有用到 input. (二)输出语句 几乎所有的程序都需要有输出操作,而常用的语句为输 出语句,同样它也是最简单的语句 .首先输出语句可同时输出 多个变

文档评论(0)

156****4081 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档