【pk10下载-10分pk10下载】编程解决算法问题,穷举思想轻松学

  • 时间:
  • 浏览:0

编程避免算法大问题,穷举思想轻松学

  • 2019/7/1 11:05:01
  • 类型:原创
  • 来源:电脑报
  • 报纸编辑:电脑报
  • 作者:

【电脑报在线】大伙儿在数橙科学中python的极客战记或者 或者 关卡在向孩子教学代码的同時 ,也是在潜移默化地训练孩子的编程思维。

大伙儿在数橙科学中python的极客战记或者 或者 关卡在向孩子教学代码的同時 ,是在潜移默化地训练孩子的编程思维在最开始的地牢地图中,孩子都还可以 使用「While-True」循环一句话,穿过另兩个又另兩个底部形态重复的迷宫(图1

在学习「While-True」循环一句话的同時 ,也在训练着使用「循环思维」避免重复大问题的能力:

1.发现并拆解重复次要

2.避免重复大问题

3.循环运行大问题的避免法律法律法律依据

原本,就能只用一段代码,高效地避免重复大问题了。可见,在编程中,学习代码的编写要是我基本,更重要的还是掌握运用代码的编程思维。

一、农民过河大问题

在编程的数道经典算法大问题中,另兩个「农夫过河」大问题:另兩个农夫带着一只狼,一只羊和或者 菜过河。河边不到四根绳子 船,或者船太小,不到装在农夫和他的一样东西,在无人看管的情况下,狼要吃羊,羊要吃菜,请问农夫如保都还可以使三样东西平安过河。

为了用代码避免或者 大问题,应用程序员都还可以 利用「穷举搜索思想」,尝试所有的过河方案,直到找出正确的过河方案。

二、士兵,食人魔和农民

关卡地址https://codecombat.163.com/play/level/soldier-ogre-and-peasant?(图2



关卡介绍:

你都还可以 使用狮鹫,把士兵、食人魔、农民,带去河的对岸,狮鹫每次不到带另一此人 抛妻弃子,而食人魔会伤害农民,士兵会攻击食人魔,或者不须让士兵和食人魔单独留在同時 ,要是我要让食人魔和农民单独留在同時 。

或者 关是和「农夫过河」之类型的大问题,就像另兩个脑筋急转弯 时,无需代码,用大伙儿的智慧网,动动脑筋,应该调慢就能想出解法。

但你能想出有并是不是解法,或者你想找出所有的解法,是完整版都是完整版都是一定的难度了呢?如保调慢更全地找出所有的过河法律法律法律依据呢?

在本关,大伙儿还都还可以学习一下如保使用「穷举思想」避免编程大问题。

三、穷举是哪此?

穷举是哪此呢?它有着另兩个高大上的名字,但它的本质却十分的简单朴实。

穷举法的基本思想:根据题目的次要条件选取答案的大致范围,并在此范围内对所有或者的情况逐一验证,直到完整版情况验证完毕。

简单来说要是我:把所有的答案都试一遍,找出正确的答案。

非常的简单粗暴。或者,它也是编程常用中效率较低的有并是不是算法。使用穷举法,通常都还可以 三步:解析题目——优化运算过程——开始穷举。大伙儿来试试利用穷举法避免关卡「士兵,食人魔和农民」吧!

四、解析题目

穷举法的第一步要是我分析题目,把原本的文字题目,转化成更易于分析,简洁有逻辑的题目类型。

① 题目的对象

题目看似要是我另一此人 的过河大问题,但实际上在题目里有四此人 物:狮鹫、士兵、食人魔、农民。狮鹫负责帮助大伙儿过河。

② 题目的条件

1士兵和食人魔不到单独留在同時 ;

2食人魔和农民要是我能单独留在同時 。

也要是我说,当狮鹫、士兵、食人魔呆在同時 的但是 ,要是我会发生大问题,或者士兵和食人魔马上就要被狮鹫运走,来不及打架。

③ 题目的情况

大伙儿都还可以 使用狮鹫来帮助大伙儿从右边飞到左边,或者题目具有以下几种或者发生的情况:

1.左边有士兵、食人魔、农民、狮鹫,右边哪此都没有 。

2.左边有食人魔、农民、狮鹫,右边有士兵。

3.左边有农民、狮鹫,右边有士兵、食人魔。

……等等多种情况

④ 优雅地表示题目

还都还可以看了,用文字标识题目或者发生的情况,十分地复杂性。或者,在编程中,大伙儿常常会用或者 特定的符号来简洁地表达题目或者发生的情况。

看看题目,人物只会有有并是不是情况,在右边(还没过河),在左边(过河了),或者大伙儿还都还可以直接用0、1来表示人物的位置。

0表示还没过河;1表示或者过河。

没有 就还都还可以原本表示:(狮鹫、士兵、食人魔、农民)

1. (1,1,1,1)表示本人物都已过河,到了左边。

2. (1,0,1,1)表示食人魔和农民过了河,士兵还没有 。

3.……等等

用或者 简洁的法律法律法律依据,把题目的所有情况示出来要是我:共16种情况(图3)。

根据题目的条件,大伙儿可知,有以下几种情况是不可取的:农民和食人魔单独在同時 :(0,0,1,1)、(1,1,0,0)士兵和食人魔单独在同時 :(0,1,1,0)、(1,0,0,1)还有有并是不是隐含的不可取条件:

不到狮鹫此人 在一边:(1,0,0,0),这表示,本人都没过河,不到狮鹫过河了,而狮鹫原本要是我帮助大伙儿过河的,不或者此人 单独呆在河的一边。或者 或者 或者 情况是无需发生的。

没有 同理还有:(0,1,1,1)或者 情况,本人都过了河,狮鹫没有 过河,这要是我会发生。

没有 本题的大问题就变成了:如保在符合条件的情况下,把(0,0,0,0)转化成(1,1,1,1)。

本文出自2019-07-01出版的《电脑报》2019年第25期 A.新闻周刊 (网站编辑:zoey)

发表给力评论!看新闻,说两句。

匿名 ctrl+enter快捷提交

网站地图 | 版权声明 | 业务商务商务合作 | 夫妻爱情链接 | 关于大伙儿 | 招聘信息

报纸客服电话:10006677866 报纸客服信箱:pcw-advice@vip.sina.com 夫妻爱情链接与商务商务合作:987349267(QQ) 广告与活动:67100009(QQ) 网站联系信箱:cpcw@cpcwi.com

Copyright © 10006-2011 电脑报官方网站 版权所有 渝ICP备100009040号