算法思维测试
Ⅰ YCL青少年人工智能编程水平测试怎么样都考些什么
是权威、专业,是政府单位举办的考试。编程水平测试涵盖从数学逻辑到计算思维、从拖拽语句模块到语句编写、从数学建模到算法设计等多学科知识。
青少年人工智能编程水平测试(YCL)是行业唯一由中央部委直属单位主办的青少年编程等级考试,并且还有双公章联合认证。考试本身能集中检验孩子学习成果,是对孩子编程能力的标准化、专业化测评,能增强孩子学习动力。
它的主办单位是工业和信息化部教育与考试中心、中国电子教育学会。主要用于考查青少年在程序思维、编程语言、数据处理及人工智能算法方面的能力水平。
题库开发单位为中国科学院计算技术研究所,汇聚了人工智能、机器人、计算机等相关专业院士、教授、学科带头人、中小学一线特级高级教师、各类赛事裁判长等行业知名专家,共同对考试题库进行全面开发,能够保证考试题目的专业性、权威性和公正性。
含金量——主办单位+认证证书
青少年人工智能编程水平测试(YCL等级考试)的主办单位是工业和信息化部教育与考试中心、中国电子教育学会。
据官方网站显示,工业和信息化部教育与考试中心是工业和信息化部直属事业单位,承担中国计算机技术与软件专业技术资格(水平)考试、通信专业技术人员职业水平考试、电子通信行业职业技能鉴定、全国信息技术人才培养工程、产业工人网络平台建设等人才培养选拔工作。
YCL等级考试证书也将由工业和信息化部教育与考试中心、中国电子教育学会共同颁发,同时在青少年人工智能编程水平测试官网以及工业和信息化部教育与考试中心官网双渠道进行查询。
Ⅱ 逻辑思维训练题:小王是怎么算出来的
被5除余3=>8
然后8加上5的n倍构成除7余4
8+5*2=7*2+4=>18
18加上5*7的倍数构成除11余6,18/11余6,35/11余2,因此需要5倍的35加上才能构成除11余6
18+35*5=17*11+6=>193
最后人数在1700到1800之间,所以:
(1800-193)/(5*7*11)=4.1
=>总人数=4*(5*7*11)+193=1733人
Ⅲ 在我们计算,有没有那些计算方式符合我们计算机的思维
计算思维是建立在计算过程的能力和限制之上的,不管这些过程是由人还是由机器执行的。计算方法和模型给了我们勇气去处理那些原本无法由任何个人独自完成的问题求解和系统设计。计算思维直面机器智能的不解之谜:什么人类能比计算机做得更好?什么计算机能比人类做得更好?最基本的是它涉及这样的问题:什么是可计算的?今天,我们对这些问题的答案仍是一知半解。
计算思维是每个人的基本技能,不仅仅属于计算机科学家。在阅读、写作和算术(英文简称3R)之外,我们应当将计算思维加到每个孩子的解析能力之中。正如印刷出版促进了3R的传播,计算和计算机也以类似的正反馈促进了计算思维的传播。
计算思维涉及运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。计算思维涵盖了反映计算机科学之广泛性的一系列思维活动。
当求解一个特定的问题时,我们会问:解决这个问题有多困难?怎样才是最佳的解决之道? 计算机科学根据坚实的理论基础来准确地回答这些问题。表明问题的困难程度是为了考量机器——就是用来运行其解的计算工具之基本能力。我们必须考虑机器的指令系统、它的资源约束和它的操作环境。
为了有效地求解一个问题,我们可能要进一步问:一个近似解是否就足够了,是否可以利用一下随机化,以及是否允许误正或误负。计算思维就是把一个看来困难的问题重新阐述成一个我们知道怎样解的问题,如通过约简、嵌入、转化和仿真的方法。
计算思维是一种递归思维。它是并行处理。它是把代码译成数据又把数据译成代码。它是由推广量纲分析进行的类型检查。对于别名或赋予人与物多个名字的做法,它既知道其益处又了解其害处。对于间接寻址和程序调用的做法,它既知道其威力又了解其代价。它评价一个程序时,不仅仅根据其准确性和效率,还有美学的考量,而对于系统的设计,还考虑简洁和优雅。
计算思维采用了抽象和分解来迎战浩大复杂的任务或者设计巨大复杂的系统。它是关注的分离。它是选择合适的方式去陈述一个问题,或者是选择合适的方式对一个问题的相关方面建模使其易于处理。它是利用不变量简明扼要且表述性地刻画系统的行为。它是我们在不必理解每一个细节的情况下就能够安全地使用、调整和影响一个大型复杂系统的信心。它就是为预期的多个用户而进行的模块化,它就是为预期的未来应用而进行的预置和缓存。
计算思维是通过冗余、堵错、纠错的方式,在最坏情况下进行预防、保护和恢复的一种思维。它称堵塞为死结,叫合同为界面。它就是学习在谐调同步相互会合时如何避免竞争的情形。
计算思维是利用启发式推理来寻求解答。它就是在不确定情况下的规划、学习和调度。它就是搜索、搜索、再搜索,最后得到的是一系列的网页,一个赢得游戏的策略,或者一个反例。计算思维是利用海量的数据来加快计算。它就是在时间和空间之间,在处理能力和存储容量之间的权衡。
考虑这些日常中的事例:当你女儿早晨去学校时,她把当天需要的东西放进背包;这就是预置和缓存。当你儿子弄丢他的手套时,你建议他沿走过的路回寻;这就是回推。在什么时候你停止租用滑雪板而为自己买一对呢?这就是在线算法。在超市付账时你应当去排哪个队呢?这就是多服务器系统的性能模型。为什么停电时你的电话仍然可用?这就是失败的无关性和设计的冗余性。完全自动的大众图灵测试是如何区分计算机和人类(简称CAPTCHA)的,即CAPTCHAs是怎样鉴别人类的?这就是充分利用求解人工智能难题之艰难来挫败计算代理程序。
计算思维将渗入到我们每个人的生活之中,那时诸如算法和前提条件已成为每个人日常词汇的一部分,非确定论和垃圾收集已含有计算机学家所指的含义,而树已常常被倒过来画了。
我们已见证了计算思维在其它学科中的影响。例如,机器学习已经改变了统计学。就数据尺度和维数而言,统计学习用于各类问题的规模仅在几年前还是不可想象的。各种组织的统计部门都聘请了计算机科学家。计算机学院系正在联姻已有或开设新的统计部门。
计算机学家们近来对生物科学的兴趣是由他们坚信生物学家能够从计算思维中获益的信念驱动的。计算机科学对于生物学的贡献决不限于其能够在海量时序数据中搜索寻找模式规律的本领。最终的希望是数据结构和算法——我们的计算抽象和方法——能够以阐释其功能的方式表示蛋白质的结构。计算生物学正在改变着生物学家的思考方式。类似地,计算博弈理论正改变着经济学家的思考方式,纳米计算改变着化学家的思考方式,量子计算改变着物理学家的思考方式。
这种思维将成为不仅仅是其他科学家,而且是其他每一个人的技能组合之部分。普在计算之于今天就是计算思维之于明天。普在计算是已变为今日之现实的昨日之梦,计算思维就是明日之现实。
它是什么,又不是什么
计算机科学是计算的学问——什么是可计算的,怎样去计算。因此,计算思维具有以下特性:
概念化,不是程序化。计算机科学不是计算机编程。像计算机科学家那样去思维意味着远远不止能为计算机编程。它要求能够在抽象的多个层次上思维。
基础的,不是机械的技能。基础的技能是每一个人为了在现代社会中发挥职能所必须掌握的。生搬硬套之机械的技能意味着机械的重复。具有讽刺意味的是,只有当计算机科学解决了人工智能的宏伟挑战——使计算机像人类一样思考之后,思维才会变成机械的生搬硬套。
人的,不是计算机的思维。计算思维是人类求解问题的一条途径,但决非试图使人类像计算机那样地思考。计算机枯燥且沉闷;人类聪颖且富有想象力。我们人类赋予计算机以激情。配置了计算设备,我们就能用自己的智慧去解决那些计算时代之前不敢尝试的问题,就能建造那些其功能仅仅受制于我们想象力的系统。
数学和工程思维的互补与融合。计算机科学在本质上源自数学思维,因为像所有的科学一样,它的形式化解析基础筑于数学之上。计算机科学又从本质上源自工程思维,因为我们建造的是能够与实际世界互动的系统。基本计算设备的限制迫使计算机学家必须计算性地思考,不能只是数学性地思考。构建虚拟世界的自由使我们能够超越物理世界去打造各种系统。
是思想,不是人造品。不只是我们生产的软件硬件人造品将以物理形式到处呈现并时时刻刻触及我们的生活,更重要的是还将有我们用以接近和求解问题、管理日常生活、与他人交流和互动之计算性的概念;而且,
面向所有的人,所有地方。当计算思维真正融入人类活动的整体以致不再是一种显式之哲学的时候,它就将成为现实。
许多人将计算机科学等同于计算机编程。有些家长为他们主修计算机科学的孩子看到的只是一个狭窄的就业范围。许多人认为计算机科学的基础研究已经完成,剩下的只是工程部分而已。当我们行动起来去改变这一领域的社会形象时,计算思维就是一个引导着计算机教育家、研究者和实践者的宏大愿景。我们特别需要走进大学之前的听众,包括老师、父母、学生,向他们传送两个主要信息:
1)智力上极有挑战性并且引人入胜的科学问题依旧亟待理解和解决。这些问题的范围和解决方案的范围之唯一局限就是我们自己的好奇心和创造力;同时一个人可以主修计算机科学并且干什么都行。一个人可以主修英语或者数学,接着从事各种各样的职业。计算机科学也一样。一个人可以主修计算机科学,接着从事医学、法律、商业、政治,以及任何类型的科学和工程,甚至艺术工作。
2)计算机科学的教授应当为大学新生开一门称为“怎么像计算机科学家一样思维”的课,面向非专业的,而不仅仅是计算机科学专业的学生。我们应当使大学之前的学生接触计算的方法和模型。我们应当设法激发公众对于计算机领域中的科学探索之兴趣,而不是悲叹对其兴趣的衰落或者哀泣其研究经费的下降。所以,我们应当传播计算机科学的快乐、崇高和力量,致力于计算思维的常识化。
Ⅳ 谁有逻辑思维测试题越多越好
1)两地旅行
我租了一辆旅游小车,离开阿姆斯特丹,向花城亚里士梅尔出发了。
在阿姆斯特丹和亚里士梅尔两城正中间有一K镇,镇上有两个 朋友A和B也乘上了我们的车。三人愉快地度过一天的旅行后,准备返回,可是A决定在K镇下车,B随我回阿姆斯特丹。现在仍按荷兰式的均摊方式,准备各付自己的旅程费。从阿姆斯特升到亚里士梅尔规定往返要付24盾 (约合20元人民币)。K域位于两城的正中间,那么三个人应各付多少钱?
答案:我付10.7盾,A付5.3盾,B付8盾
我的思路:设K镇与亚里士梅尔或阿姆斯特丹的路程为X,则A走了2段路程,B走了3段路程,我走了4段路程,按比例分配旅费即可。
2)耕地能手和播种能手
新德里郊区有个庄园主,雇了两个小工为他种小麦。其中A是 一个耕地能手,但
不擅长播种;而B耕地很不熟练,但却是播种的能手。庄园主决定种10公亩地的小麦,让他俩各包一半,于是A从东头开始耕地,B从西头开始耕。A耕地一亩用20分钟,B却用40分钟,可是B播种的速度却比A快3倍。 耕播结束后,庄园主根据他们的工作量给了他俩100卢比工钱。
他俩怎样分才合理呢?
答案:每人一半,各拿50卢比。因为不论每个人干活速度如何,庄园主早就决定他们两人 "各包一半"。因此他们二人的耕地、播种面积 都是一样的,工钱当然也应各拿一半。
我的思路:
工钱是按面积算的,只要抓住“各包一半”即可。
3)叫喊几分钟
沙漠中的骆驼商队,通常把体弱的骆驼夹在中间,强壮的走在两头,驼队排成一行
按顺序前迸。商人为了区别它们,就在每一头骆驼身上盖上火印,枝而引顶序,在给骆驼打火印时,它们都要痛得叫喊5分钟。
问:若某个商队共有10头骆驼,盖火印时的叫喊声最少要听几分钟,假如叫声是不重
叠在一起的。
答案:45分钟。开始你也许会想是5x10=50。可是因为火印盖到第九只骆驼,剩下的一只,他们就不盖了,因为不盖也能与其他的区别。
启发:做人要灵活。
4)应该找多少零钱
进了一家礼品商店,看到一架照相机,这种照相机在日本连皮套 共值3万日元,可这家商店要310美元 (要美元,不要泰国铢),折合日元约为4万多日元。照相机的价钱比皮套贵300美元,剩下的就是皮套的价钱。请问:现买一副皮套拿出100美元,应该找多少零钱?
答案:不仔细考虑,就会中计受骗。假如皮套是10美元,那么照相机比它贵300美元,即310美元。加在一起就成为320美元。正确答案 应该是皮套5美元,应找零钱95美元。这样,照相机为305美元,加皮套共310美元,才符合计算。
我的思路:设皮套为X,照相机为300+X,即2X+300=310,X=5。只是用到初中的数学知识。
5)大小灯球
"鸡兔同笼"的算题和算法,在中国古代的民间广为流传,甚至被誉为"了不起的妙算"。以至清代小说家李汝珍,把它写到自己的 小说《镜花缘》中。
《镜花缘》写了一个才女米兰芬计算灯球的故事——
有一次米兰芬到了一个阔人家里,主人请她观赏楼下大厅里五彩缤纷、高低错落、宛若群星的大小灯球。
主人告诉她:"楼下的灯分两种:一种是灯下一个大球,下缀两个小球;另一种是灯下一个大球,下缀四个小球。楼下大灯球共360 个,小灯球1200个。"
主人请她算一算两种灯各有多少。
答案:一个大灯球下缀两个小灯球当是鸡,一个大灯球下缀四个小灯球当是兔。 (360x4-1200)/(4-2)=240/2=120 (一大二小灯的盏数) 360-120=240(一大四小灯的盏数)
我的思路:设每一种灯为X,另一种灯为Y,则有
X+Y=360;2X+4Y=1200;解得:X=120,Y=240。
6)粗木匠的难题
木匠拿来一根雕刻着花纹的小木柱说:
"有一次,一位住在伦敦的学者,拿给我一根3英尺长,宽和厚均为1英尺的木料,希望我将它砍削、雕刻成木柱,如你们现在看到 的样子。学者答应补偿我在做活时砍去的木材。我先将这块方木称一称,它恰好重30磅,而要做成的这根柱子只重20磅。因此,我从方木上砍掉了1立方英尺的木材,即原来的三分之一。但学者拒不承认,他说,不能按重量来计算砍去的体积,因为据说方木的中间部分要重些,也可能相反。请问,我在这种情况下怎样向好挑剔的学者证明,究竟砍掉了多少木材?"
乍一看,这个问题很困难,但答案却如此简单,以致粗木匠的办法人人皆知。这种小聪明在日常生活中也是很有用的。
答案:木匠说,他做一个箱子,内部的尺寸精确得与最初的方木相同, 即是3x1x1。然后,他把己雕刻好的木柱放入箱内,而在空档处塞满干沙土。然后,他细心地振动箱子,使得箱内沙土填实并与箱口齐平。然后,木匠轻轻取出木柱,不带出任何沙粒,再把箱内的沙土捣 平,量出其深度便能证明,木柱能占的空间恰为2立方英尺。这就是 说,木匠砍削掉一立方英尺的木材。
启发:做这题时让我想起了〈〈称象〉〉的故事。
7)鸟与木柱
有一群鸟,还有一堆木柱, 如果一只鸟落在一个柱的话, 剩下一个鸟没地方落
如果一个木柱两只鸟的话, 那就多了一个木柱, 问有多少只鸟, 多少个木柱?
答案:给个干扰答案: 设鸟=X,木柱=Y ;X=Y+1 ,Y=X/2+1 ;X=?Y=? 四只鸟,三只木桩。
但不全对,如果是谦让的鸟,它们就飞走了,另找他地。 如果是贪婪的鸟,那么它们为争抢多出来的木桩 就会大打出手。
所以。答案是四只木桩,零只鸟。
启发:要留意生活。
1.IBM社会招聘笔试题 1.一个粗细均匀的长直管子,两端开口,里面有4个白球和4个黑球,球的直径、两端开口的直径等于管子的内径,现在白球和黑球的排列是wwwwbbbb,要求不取出任何一个球,使得排列变为bbwwwwbb。
2.一只蜗牛从井底爬到井口,每天白天蜗牛要睡觉,晚上才出来活动,一个晚上蜗牛可以向上爬3尺,但是白天睡觉的时候会往下滑2尺,井深10尺,问蜗牛几天可以爬出来?
3.在一个平面上画1999条直线最多能将这一平面划分成多少个部分? 4.在太平洋的一个小岛上生活着土人,他们不愿意被外人打扰,一天,一个探险家到了岛上,被土人抓住,土人的祭司告诉他,你临死前还可以有一个机会留下一句话,如果这句话是真的,你将被烧死,是假的,你将被五马分尸,可怜的探险家如何才能活下来?
5.怎样种四棵树使得任意两棵树的距离相等。
6.27个小运动员在参加完比赛后,口渴难耐,去小店买饮料,饮料店搞促销,凭三个空瓶可以再换一瓶,他们最少买多少瓶饮料才能保证一人一瓶?
7.有一座山,山上有座庙,只有一条路可以从山上的庙到山脚,每周一早上8点,有一个聪明的小和尚去山下化缘,周二早上8点从山脚回山上的庙里,小和尚的上下山的速度是任意的,在每个往返中,他总是能在周一和周二的同一钟点到达山路上的同一点。例如,有一次他发现星期一的8点30和星期二的8点30他都到了山路靠山脚的3/4的地方,问这是为什么?
8、美国有多少辆汽车?
9、将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?
10你让某些人为你工作了七天,你要用一根金条作为报酬。这根金条要被分成七块。你必须在每天的活干完后交给他们一块。如果你只能将这根金条切割两次,你怎样给这些工人分?
11一列火车以每小时15英里的速度离开洛杉矶,朝纽约进发。另外一列火车以每小时20英里的速度离开纽约,朝洛杉矶进发。如果一只每小时飞行25英里的鸟同时离开洛杉矶,在两列火车之间往返飞行,请问当两列火车相遇时,鸟飞了多远?
12假设一张圆盘像唱机上的唱盘那样转动。这张盘一半是黑色,一半是白色。假设你有数量不限的一些颜色传感器。要想确定圆盘转动的方向,你需要在它周围摆多少个颜色传感器?它们应该被摆放在什么位置?
13假设时钟到了12点。注意时针和分针重叠在一起。在一天之中,时针和分针共重叠多少次?你知道它们重叠时的具体时间吗?
14你有两个罐子,分别装着50个红色的玻璃球和50个蓝色的玻璃球。随意拿起一个罐子,然后从里面拿出一个玻璃球。怎样最大程度地增加让自己拿到红球的机会?利用这种方法,拿到红球的几率有多大?
15中间只隔一个数字的两个奇数被称为奇数对,比如17和19。证明奇数对之间的数字总能被6整除(假设这两个奇数都大于6)。现在证明没有由三个奇数组成的奇数对。
16一个屋子有一个门(门是关闭的)和3盏电灯。屋外有3个开关,分别与这3盏灯相连。你可以随意操纵这些开关,可一旦你将门打开,就不能变换开关了。确定每个开关具体管哪盏灯。
17假设你有8个球,其中一个略微重一些,但是找出这个球的惟一方法是将两个球放在天平上对比。最少要称多少次才能找出这个较重的球?
18假设你站在镜子前,抬起左手,抬起右手,看看镜中的自己。当你抬起左手时,镜中的自己抬起的似乎是右手。可是当你仰头时,镜中的自己也在仰头,而不是低头。为什么镜子中的影像似乎颠倒了左右,却没有颠倒上下?
答案:
1,管子口对口弯曲,形成一个圆环。
2、8天(第7天已爬7尺)
3,0条直线分平面为1份
1条(1+1)份,2条(2+1+1)份,3条(3+2+1+1份
1999条(1999+1998+1997+-------+2+1+1)份为1999001份
4,我将被五马分尸,若为真则会烧死则假,若为假则五马分尸则为真
5,种在一个坑或按立体的正四面体的顶点排列
6,18瓶,18---6---2再借一瓶喝完后用三个空瓶换得一瓶再还回去
7,这好比两个小和尚在8点同时从山顶山脚出发,必有相遇的时刻此时他总是能在周一和周二的同一钟点到达山路上的同一点.
8,不知道
9,顺时针
10,按1,2,4分开第1天给1,第二天拿走1给2
11,设两地距离akm则飞了a/35*25=(5/7)a
12,2个为a,b,均放在左侧a在左上,b在左下,若a先于b变化,则顺时针,b先于a变化,则逆时针
13,22次,因为时针速度0.5度/min,分针速度6度/min
两次相遇的间隔距离为360度,需360/(6-0.5)=65又5/11min
一天24小时得24*60/65又5/11=22
14将装有红球罐子的49个红球拿到蓝球罐子中,一个留下
那到红求的概率为1/2+(1/2)*49/99=74/99=74.74747%
15是不是奇数对中各数之和被六整除
证:设奇数对中两个奇数为2x-1,2x+1
则之间的数为2x
和为6x,被6整除
证明没有由三个奇数组成的奇数对
证:假设有三个奇数组成的奇数对,为a,b,c
且a<b<c
则a与b,b与c,c与a均为奇数对
所以a+1=b,a+1=c
所以b=c矛盾
所以不存在
16,设开关a,b,c
打开a一段时间,关上,开b
开门
亮着的灯与b相连
未亮但有热度的与a相连
剩下一个与c相连
17,两次
将小球编号1,2,3,4,5,6,7,8
1,2,3放在天平左端
4,5,6放在天平右端
7,8不放
若左端下沉则将1,2,3中
1放在左端,2在右端,3不放
哪端下沉即为重球,都不下沉则3为重球
若右端下沉方法类似
若都不下沉
则把7放在左端,8右端
哪端下沉即为重球
Ⅳ 算法面试
我在《再谈“我是怎么招程序员”》中比较保守地说过,“问难的算法题并没有错,错的很多面试官只是在肤浅甚至错误地理解着面试算法题的目的。”,今天,我想加强一下这个观点——我反对纯算法题面试!(注意,我说的是纯算法题)图片源Wikipedia(点击图片查看词条)我再次引用我以前的一个观点——能解算法题并不意味着这个人就有能力就能在工作中解决问题,你可以想想,小学奥数题可能比这些题更难,但并不意味着那些奥数能手就能解决实际问题。好了,让我们来看一个示例(这个示例是昨天在微博上的一个讨论),这个题是——“找出无序数组中第2大的数”,几乎所有的人都用了O(n)的算法,我相信对于我们这些应试教育出来的人来说,不用排序用O(n)算法是很正常的事,连我都不由自主地认为O(n)算法是这个题的标准答案。我们太习惯于标准答案了,这是我国教育最悲哀的地方。(广义的洗脑就是让你的意识依赖于某个标准答案,然后通过给你标准答案让你不会思考而控制你)功能性需求分析试想,如果我们在实际工作中得到这样一个题 我们会怎么做?我一定会分析这个需求,因为我害怕需求未来会改变,今天你叫我找一个第2大的数,明天你找我找一个第4大的数,后天叫我找一个第100大的数,我不搞死了。需求变化是很正常的事。分析完这个需求后,我会很自然地去写找第K大数的算法——难度一下子就增大了。很多人会以为找第K大的需求是一种“过早扩展”的思路,不是这样的,我相信我们在实际编码中写过太多这样的程序了,你一定不会设计出这样的函数接口 —— Find2ndMaxNum(int* array, int len),就好像你不会设计出 DestroyBaghdad(); 这样的接口,而是设计一个DestoryCity( City& ); 的接口,而把Baghdad当成参数传进去!所以,你应该是声明一个叫FindKthMaxNum(int* array, int len, int kth),把2当成参数传进去。这是最基本的编程方法,用数学的话来说,叫代数!最简单的需求分析方法就是把需求翻译成函数名,然后看看是这个接口不是很二?!(注:不要纠结于FindMaxNum()或FindMinNum(),因为这两个函数名的业务意义很清楚了,不像Find2ndMaxNum()那么二)非功能性需求分析性能之类的东西从来都是非功能性需求,对于算法题,我们太喜欢研究算法题的空间和时间复杂度了。我们希望做到空间和时间双丰收,这是算法学术界的风格。所以,习惯于标准答案的我们已经失去思考的能力,只会机械地思考算法之内的性能,而忽略了算法之外的性能。如果题目是——“从无序数组中找到第K个最大的数”,那么,我们一定会去思考用O(n)的线性算法找出第K个数。事实上,也有线性算法——STL中可以用nth_element求得类似的第n大的数,其利用快速排序的思想,从数组S中随机找出一个元素X,把数组分为两部分Sa和Sb。Sa中的元素大于等于X,Sb中元素小于X。这时有两种情况:1)Sa中元素的个数小于k,则Sb中的第 k-|Sa|个元素即为第k大数;2) Sa中元素的个数大于等于k,则返回Sa中的第k大数。时间复杂度近似为O(n)。搞学术的nuts们到了这一步一定会欢呼胜利!但是他们哪里能想得到性能的需求分析也是来源自业务的!我们一说性能,基本上是个人都会问,请求量有多大?如果我们的FindKthMaxNum()的请求量是m次,那么你的这个每次都要O(n)复杂度的算法得到的效果就是O(n*m),这一点,是书呆子式的学院派人永远想不到的。因为应试教育让我们不会从实际思考了。工程式的解法根据上面的需求分析,有软件工程经验的人的解法通常会这样:1)把数组排序,从大到小。2)于是你要第k大的数,就直接访问 array[k]。排序只需要一次,O(n*log(n)),然后,接下来的m次对FindKthMaxNum()的调用全是O(1)的,整体复杂度反而成了线性的。其实,上述的还不是工程式的最好的解法,因为,在业务中,那数组中的数据可能会是会变化的,所以,如果是用数组排序的话,有数据的改动会让我重新排序,这个太耗性能了,如果实际情况中会有很多的插入或删除操作,那么可以考虑使用B+树。工程式的解法有以下特点:1)很方便扩展,因为数据排好序了,你还可以方便地支持各种需求,如从第k1大到k2大的数据(那些学院派写出来的代码在拿到这个需求时又开始挠头苦想了)2)规整的数据会简化整体的算法复杂度,从而整体性能会更好。(公欲善其事,必先利其器)3)代码变得清晰,易懂,易维护!(学院派的和STL一样的近似O(n)复杂度的算法没人敢动)争论你可能会和我有以下争论,如果程序员做这个算法题用排序的方式,他一定不会像你想那么多。是的,你说得对。但是我想说,很多时候,我们直觉地思考,恰恰是正确的路。因为“排序”这个思路符合人类大脑处理问题的方式,而使用学院派的方式是反大脑直觉的。反大脑直觉的,通常意味着晦涩难懂,维护成本上升。就是一道面试题,我就是想测试一下你的算法技能,这也扯太多了。没问题,不过,我们要清楚我们是在招什么人?是一个只会写算法的人,还是一个会做软件的人?这个只有你自己最清楚。这个算法题太容易诱导到学院派的思路了。是的这道“找出第K大的数”,其实可以变换为更为业务一点的题目——“我要和别的商户竞价,我想排在所有竞争对手报价的第K名,请写一个程序,我输入K,和一个商品名,系统告诉我应该订多少价?(商家的所有商品的报价在一数组中)”——业务分析,整体性能,算法,数据结构,增加需求让应聘者重构,这一个问题就全考了。你是不是在说算法不重要,不用学?千万别这样理解我,搞得好像如果面试不面,我就可以不学。算法很重要,算法题能锻炼我们的思维,而且也有很多实际用处。我这篇文章不是让大家不要去学算法,这是完全错误的,我是让大家带着业务问题去使用算法。问你业务问题,一样会问到算法题上来。小结看过这上面的分析,我相信你明白我为什么反对纯算法面试题了。原因就是纯算法的面试题根本不能反应一个程序的综合素质!那么,在面试中,我们应该要考量程序员的那些综合素质呢?我以为有下面这些东西:会不会做需求分析?怎么理解问题的?解决问题的思路是什么?想法如何?会不会对基础的算法和数据结构灵活运用?另外,我们知道,对于软件开发来说,在工程上,难是的下面是这些挑战:软件的维护成本远远大于软件的开发成本。软件的质量变得越来越重要,所以,测试工作也变得越来越重要。软件的需求总是在变的,软件的需求总是一点一点往上加的。程序中大量的代码都是在处理一些错误的或是不正常的流程。所以,对于编程能力上,我们应该主要考量程序员的如下能力:设计是否满足对需求的理解,并可以应对可能出现的需求变化。
Ⅵ c语言怎么提高逻辑思维和算法
我刚开始学的时候也是和你一样,首先从选择题入手,把每章能有的题都刷一遍搞懂,然后做编程题,记住每一句都自己亲自打在电脑上运行测试,刚开始自己写不出来可以边看边打,哪怕死记硬背把开始的那些典型程序背下来,慢慢理解,时间长了自然会了。记住一定要亲自电脑上多打代码,哪一处不懂就问,切记不要复制粘贴
Ⅶ 在我们计算,有没有那些计算方式符合我们计算机的思维
计算思维是建立在计算过程的能力和限制之上的,不管这些过程是由人还是由机器执行的。计算方法和模型给了我们勇气去处理那些原本无法由任何个人独自完成的问题求解和系统设计。计算思维直面机器智能的不解之谜:什么人类能比计算机做得更好?什么计算机能比人类做得更好?最基本的是它涉及这样的问题:什么是可计算的?今天,我们对这些问题的答案仍是一知半解。
计算思维是每个人的基本技能,不仅仅属于计算机科学家。在阅读、写作和算术(英文简称3R)之外,我们应当将计算思维加到每个孩子的解析能力之中。正如印刷出版促进了3R的传播,计算和计算机也以类似的正反馈促进了计算思维的传播。
计算思维涉及运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。计算思维涵盖了反映计算机科学之广泛性的一系列思维活动。
当求解一个特定的问题时,我们会问:解决这个问题有多困难?怎样才是最佳的解决之道? 计算机科学根据坚实的理论基础来准确地回答这些问题。表明问题的困难程度是为了考量机器——就是用来运行其解的计算工具之基本能力。我们必须考虑机器的指令系统、它的资源约束和它的操作环境。
为了有效地求解一个问题,我们可能要进一步问:一个近似解是否就足够了,是否可以利用一下随机化,以及是否允许误正或误负。计算思维就是把一个看来困难的问题重新阐述成一个我们知道怎样解的问题,如通过约简、嵌入、转化和仿真的方法。
计算思维是一种递归思维。它是并行处理。它是把代码译成数据又把数据译成代码。它是由推广量纲分析进行的类型检查。对于别名或赋予人与物多个名字的做法,它既知道其益处又了解其害处。对于间接寻址和程序调用的做法,它既知道其威力又了解其代价。它评价一个程序时,不仅仅根据其准确性和效率,还有美学的考量,而对于系统的设计,还考虑简洁和优雅。
计算思维采用了抽象和分解来迎战浩大复杂的任务或者设计巨大复杂的系统。它是关注的分离。它是选择合适的方式去陈述一个问题,或者是选择合适的方式对一个问题的相关方面建模使其易于处理。它是利用不变量简明扼要且表述性地刻画系统的行为。它是我们在不必理解每一个细节的情况下就能够安全地使用、调整和影响一个大型复杂系统的信心。它就是为预期的多个用户而进行的模块化,它就是为预期的未来应用而进行的预置和缓存。
计算思维是通过冗余、堵错、纠错的方式,在最坏情况下进行预防、保护和恢复的一种思维。它称堵塞为死结,叫合同为界面。它就是学习在谐调同步相互会合时如何避免竞争的情形。
计算思维是利用启发式推理来寻求解答。它就是在不确定情况下的规划、学习和调度。它就是搜索、搜索、再搜索,最后得到的是一系列的网页,一个赢得游戏的策略,或者一个反例。计算思维是利用海量的数据来加快计算。它就是在时间和空间之间,在处理能力和存储容量之间的权衡。
考虑这些日常中的事例:当你女儿早晨去学校时,她把当天需要的东西放进背包;这就是预置和缓存。当你儿子弄丢他的手套时,你建议他沿走过的路回寻;这就是回推。在什么时候你停止租用滑雪板而为自己买一对呢?这就是在线算法。在超市付账时你应当去排哪个队呢?这就是多服务器系统的性能模型。为什么停电时你的电话仍然可用?这就是失败的无关性和设计的冗余性。完全自动的大众图灵测试是如何区分计算机和人类(简称CAPTCHA)的,即CAPTCHAs是怎样鉴别人类的?这就是充分利用求解人工智能难题之艰难来挫败计算代理程序。
计算思维将渗入到我们每个人的生活之中,那时诸如算法和前提条件已成为每个人日常词汇的一部分,非确定论和垃圾收集已含有计算机学家所指的含义,而树已常常被倒过来画了。
我们已见证了计算思维在其它学科中的影响。例如,机器学习已经改变了统计学。就数据尺度和维数而言,统计学习用于各类问题的规模仅在几年前还是不可想象的。各种组织的统计部门都聘请了计算机科学家。计算机学院系正在联姻已有或开设新的统计部门。
计算机学家们近来对生物科学的兴趣是由他们坚信生物学家能够从计算思维中获益的信念驱动的。计算机科学对于生物学的贡献决不限于其能够在海量时序数据中搜索寻找模式规律的本领。最终的希望是数据结构和算法——我们的计算抽象和方法——能够以阐释其功能的方式表示蛋白质的结构。计算生物学正在改变着生物学家的思考方式。类似地,计算博弈理论正改变着经济学家的思考方式,纳米计算改变着化学家的思考方式,量子计算改变着物理学家的思考方式。
这种思维将成为不仅仅是其他科学家,而且是其他每一个人的技能组合之部分。普在计算之于今天就是计算思维之于明天。普在计算是已变为今日之现实的昨日之梦,计算思维就是明日之现实。
它是什么,又不是什么
计算机科学是计算的学问——什么是可计算的,怎样去计算。因此,计算思维具有以下特性:
概念化,不是程序化。计算机科学不是计算机编程。像计算机科学家那样去思维意味着远远不止能为计算机编程。它要求能够在抽象的多个层次上思维。
基础的,不是机械的技能。基础的技能是每一个人为了在现代社会中发挥职能所必须掌握的。生搬硬套之机械的技能意味着机械的重复。具有讽刺意味的是,只有当计算机科学解决了人工智能的宏伟挑战——使计算机像人类一样思考之后,思维才会变成机械的生搬硬套。
人的,不是计算机的思维。计算思维是人类求解问题的一条途径,但决非试图使人类像计算机那样地思考。计算机枯燥且沉闷;人类聪颖且富有想象力。我们人类赋予计算机以激情。配置了计算设备,我们就能用自己的智慧去解决那些计算时代之前不敢尝试的问题,就能建造那些其功能仅仅受制于我们想象力的系统。
数学和工程思维的互补与融合。计算机科学在本质上源自数学思维,因为像所有的科学一样,它的形式化解析基础筑于数学之上。计算机科学又从本质上源自工程思维,因为我们建造的是能够与实际世界互动的系统。基本计算设备的限制迫使计算机学家必须计算性地思考,不能只是数学性地思考。构建虚拟世界的自由使我们能够超越物理世界去打造各种系统。
是思想,不是人造品。不只是我们生产的软件硬件人造品将以物理形式到处呈现并时时刻刻触及我们的生活,更重要的是还将有我们用以接近和求解问题、管理日常生活、与他人交流和互动之计算性的概念;而且,
面向所有的人,所有地方。当计算思维真正融入人类活动的整体以致不再是一种显式之哲学的时候,它就将成为现实。
许多人将计算机科学等同于计算机编程。有些家长为他们主修计算机科学的孩子看到的只是一个狭窄的就业范围。许多人认为计算机科学的基础研究已经完成,剩下的只是工程部分而已。当我们行动起来去改变这一领域的社会形象时,计算思维就是一个引导着计算机教育家、研究者和实践者的宏大愿景。我们特别需要走进大学之前的听众,包括老师、父母、学生,向他们传送两个主要信息:
1)智力上极有挑战性并且引人入胜的科学问题依旧亟待理解和解决。这些问题的范围和解决方案的范围之唯一局限就是我们自己的好奇心和创造力;同时一个人可以主修计算机科学并且干什么都行。一个人可以主修英语或者数学,接着从事各种各样的职业。计算机科学也一样。一个人可以主修计算机科学,接着从事医学、法律、商业、政治,以及任何类型的科学和工程,甚至艺术工作。
2)计算机科学的教授应当为大学新生开一门称为“怎么像计算机科学家一样思维”的课,面向非专业的,而不仅仅是计算机科学专业的学生。我们应当使大学之前的学生接触计算的方法和模型。我们应当设法激发公众对于计算机领域中的科学探索之兴趣,而不是悲叹对其兴趣的衰落或者哀泣其研究经费的下降。所以,我们应当传播计算机科学的快乐、崇高和力量,致力于计算思维的常识化。
Ⅷ 计算思维的计算思维
操作模式 计算思维建立在计算过程的能力和限制之上,由人由机器执行。计算方法和模型使我们敢于去处理那些原本无法由任何个人独自完成的问题求解和系统设计。计算思维直面机器智能的不解之谜:什么人类比计算机做得好?什么计算机比人类做得好?最基本的问题是:什么是可计算的?迄今为止我们对这些问题仍是一知半解。
计算思维用途 计算思维是每个人的基本技能,不仅仅属于计算机科学家。我们应当使每个孩子在培养解析能力时不仅掌握阅读、写作和算术(Reading, wRiting, and aRithmetic——3R),还要学会计算思维。正如印刷出版促进了3R的普及,计算和计算机也以类似的正反馈促进了计算思维的传播。
计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。它包括了涵盖计算机科学之广度的一系列思维活动。当我们必须求解一个特定的问题时,首先会问:解决这个问题有多么困难?怎样才是最佳的解决方法?计算机科学根据坚实的理论基础来准确地回答这些问题。表述问题的难度就是工具的基本能力,必须考虑的因素包括机器的指令系统、资源约束和操作环境。
为了有效地求解一个问题,我们可能要进一步问:一个近似解是否就够了,是否可以利用一下随机化,以及是否允许误报(false positive)和漏报(false negative)。计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道怎样解决的问题。
计算思维是一种递归思维 它是并行处理。它是把代码译成数据又把数据译成代码。它是由广义量纲分析进行的类型检查。对于别名或赋予人与物多个名字的做法,它既知道其益处又了解其害处。对于间接寻址和程序调用的方法,它既知道其威力又了解其代价。它评价一个程序时,不仅仅根据其准确性和效率,还有美学的考量,而对于系统的设计,还考虑简洁和优雅。
抽象和分解 来迎接庞杂的任务或者设计巨大复杂的系统。它是关注的分离(SOC方法)。它是选择合适的方式去陈述一个问题,或者是选择合适的方式对一个问题的相关方面建模使其易于处理。它是利用不变量简明扼要且表述性地刻画系统的行为。它使我们在不必理解每一个细节的情况下就能够安全地使用、调整和影响一个大型复杂系统的信息。它就是为预期的未来应用而进行的预取和缓存。计算思维是按照预防、保护及通过冗余、容错、纠错的方式从最坏情形恢复的一种思维。它称堵塞为“死锁”,称约定为“界面”。计算思维就是学习在同步相互会合时如何避免“竞争条件”(亦称“竞态条件”)的情形。
计算思维利用启发式推理来寻求解答,就是在不确定情况下的规划、学习和调度。它就是搜索、搜索、再搜索,结果是一系列的网页,一个赢得游戏的策略,或者一个反例。计算思维利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行权衡。
考虑下面日常生活中的事例:当你女儿早晨去学校时,她把当天需要的东西放进背包,这就是预置和缓存;当你儿子弄丢他的手套时,你建议他沿走过的路寻找,这就是回推;在什么时候停止租用滑雪板而为自己买一付呢?这就是在线算法;在超市付帐时,你应当去排哪个队呢?这就是多服务器系统的性能模型;为什么停电时你的电话仍然可用?这就是失败的无关性和设计的冗余性;完全自动的大众图灵测试如何区分计算机和人类,即CAPTCHA[注1]程序是怎样鉴别人类的?这就是充分利用求解人工智能难题之艰难来挫败计算代理程序。
计算思维将渗透到我们每个人的生活之中,到那时诸如算法和前提条件这些词汇将成为每个人日常语言的一部分,对“非确定论”和“垃圾收集”这些词的理解会和计算机科学里的含义驱近,而树已常常被倒过来画了。
我们已见证了计算思维在其他学科中的影响。例如,机器学习已经改变了统计学。就数学尺度和维数而言,统计学习用于各类问题的规模仅在几年前还是不可想象的。各种组织的统计部门都聘请了计算机科学家。计算机学院(系)正在与已有或新开设的统计学系联姻。
计算机学家们对生物科学越来越感兴趣,因为他们坚信生物学家能够从计算思维中获益。计算机科学对生物学的贡献决不限于其能够在海量序列数据中搜索寻找模式规律的本领。最终希望是数据结构和算法(我们自身的计算抽象和方法)能够以其体现自身功能的方式来表示蛋白质的结构。计算生物学正在改变着生物学家的思考方式。类似地,计算博弈理论正改变着经济学家的思考方式,纳米计算改变着化学家的思考方式,量子计算改变着物理学家的思考方式。
这种思维将成为每一个人的技能组合成分,而不仅仅限于科学家。普适计算之于今天就如计算思维之于明天。普适计算是已成为今日现实的昨日之梦,而计算思维就是明日现实。
Ⅸ 托兰斯创造性思维测验
思维:以人已有的知识为中介,对客观事物的概括的、间接的反映,它借助语言、表象或动作实现,是认知活动的高级形式。
思维特征:
1.间接性:思维和感知觉不同,它是建立在过去的知识经验上的对客观事物的反映,因此具有间接性。
2.概括性:思维是在大量的感性材料的基础上,把一类事物的共同特征和规律抽离出来加以认识的。反映着思维的水平,具有重要的作用。
3.思维和语言有密切关系:紧密联系在一起的,思维的间接性、概括性正是凭借语言得以实现的。人借助语言进行思维是人与动物的思维的最本质区别。除语言外还有表象和动作。
思维过程:
1.分析:在头脑中把事物的整体分解为各个部分或各个属性。
综合:在头脑中把事物的各个部分、各个属性、各个特征结合起来,了解它们之间的联系,形成一个整体的过程。
分析和综合是思维的基本过程,分析是了解事物的特征和属性,综合是通过对各部分、各属性的分析实现的。
2.比较:把各种事物或同一事物的不同部分、个别方面或个别特点加以对比,确定它们的系统点和不同点及它们之间关系。比较是重要的思维过程,实质上是一种更复杂的分析和综合。
3.抽象:在头脑中抽象出各种事物与现象的共同特征和属性,舍弃个别特征和属性的过程。
概括:在头脑中把从各种事物中抽象出来的共同特征联合起来的过程。分为初级概括(感觉、知觉、表象水平上的概括)高级概括(根据事物的内在联系和本质属性进行的概括)
思维种类:
1.根据思维过程所凭借中介不同分
直觉动作思维:依据实际行动来解决具体问题的思维过程。
具体形象思维:人们利用头脑中具体形象(表象)来解决问题的思维过程。
抽象逻辑思维:运用言语符号形成的概念来进行判断、推理,以解决问题的思维过程。是人类思维的典型形式。
2.根据思维活动探索目标的不同方向分
聚合思维:人们根据已知的信息,利用熟悉的规则解决问题,也就是从给予的信息中产生逻辑的结论。是有方向,范围,条理的思维方式。
发散思维:人们根据当前问题给定的信息和记忆系统中存储的信息,沿着不同的方向和角度思考,从多方面寻求多样性答案的一种思维活动。
3.常规思维:人们根据已有的知识经验,按现成的方案和程序直接解决问题(公式解答)
创造性思维:重新组织已有的知识经验,提出新的方案或程序,并创造出新的思维成果的思维活动。
是多种思维的综合表现,即是发散与聚合思维的结合,也是直觉与分析思维的结合,包括理论思维,又离不开创造想象。
概念:在心理学上指反映客观事物共同特点与本质属性的思维形式,是高级认知活动的基本单元,以一个符号,就是词的形式来表现。包括在每个概念下的事物一般都具有共同的属性或特性。
每个概念都包含1.内涵:概念所反映的事物的本质2.外延:概念的范围。两个方面。
概念途径分:
1.日常概念(模糊或前科学概念):在日常交往和个人经验的积累过程中形成的,因此这类概念的内涵中有时包含着非本质特性,忽略了本质特征。
2.科学概念(明确概念):在科学研究过程中经过假设和检验逐渐形成的,对个人则主要在学习条件下获得的。
心理学家常用“人工概念”的方法研究概念的形成
1.人工概念:人为的,在程序上模拟的概念。这种方法是赫尔1920年首创,研究发现概念形成过程是从许多具体事例中归纳和发现共同因素的过程,而且受反馈的影响。
自赫尔后,最着名的是布鲁纳等人实验研究,提出概念形成的假设检验模型。认为,概念形成的过程是一个提出假设和检验假设的过程。基本模式:假设—检验—再假设—再检验……直到成功。
人工概念有很大的人为性质,有人指出不能把它的研究全部应用到人类自然语言概念形成上,又有了概念形成的样例理论(罗施):认为自然概念不像人工概念那么确定,头脑中的自然概念不是一个或几个关键特征,而是对概念样例的记忆。即:自然概念的形成用不着假设检验参与。
但马丁等人对成人所做的脸谱分类实验否定了该理论。
20世纪80年代后新观点:人们记忆中可能存在两类信息,样例和类别信息。当一个刺激,并且需要迅速判断这个刺激是否属于某个类别时,就要用到样例信息。在严格地从逻辑上进行证明时,需要依靠类别信息概念的定义、关键特征及特征间的相互关系。
2.自然语言概念的获得:假设检验和信息反馈对自然语言概念获得也适用。儿童是通过类比归纳和理解一类事物的共同属性来获得概念的。最初只把它当作一个样例来理解,生活中依据这个例证来进行类比,提出自己的假设。经过生活正反方面的反馈,最终从大量例证中归纳出一类事物的共同的关键特征,从而获得了某个概念。
推理:从一组具体事物经过分析综合得出一般规律(归纳推理),或者从一般原理演出新的具体结论的思维活动(演绎推理)。
归纳推理过程由假设形成和假设评价组成,概念形成过程实际上研究的是归纳推理。其结果受个人的知识经验影响,有很大的不一致性。
演绎推理的结论是从前提推出来的,即从一般的规则推导出来的,其结论应该是一致的,在本质上属于问题解决的范畴。
三段论推理:由三个命题构成,其中两个命题为假定真实的前提,另一命题为结论,该结论可能符合这两个前提,也可能不符合。都带有直接陈述的性质。
人的很多认识是用逻辑量词表达的。三段论推理中,也根据命题中逻辑量词将命题分:
1.全称肯定命题,即包含“所有…”的命题。
2.全称否定命题,包含“没有…”的命题。
3.特称肯定命题,包含“某些…”
4.特称否定命题,包含“某些…不…”。
武德沃斯和塞尔斯提出:人们进行三段论推理使用的是气氛探索法。使用逻辑量词(有,没,不)产生了一种气氛,促使被试容易接受包含有同一逻辑量词的结论。
使用气氛假说方法,被试可在80%以上的三段论问题上获得正确答案。
线性推理:(线性三段论)依据有序事物间的关系进行的推理,它给出的两个前提说明了三个逻辑项之间的可传递性的关系。
斯滕伯格将上述两种理论结合,提出语言—表象整合模式:人们在线性推理时,首先对前提中的信息以命题的方式进行表征,继而将表征的命题建构成一种心理表象上的空间序列。依据命题的空间序列进行认识加工,从而推论合乎逻辑的结论。
条件推理:(假言推理)人们利用条件性命题所进行的推理。
人们倾向于去证实某种假设或规则,而很少去证伪它们,这种现象称:证实倾向
沃森认为在检验规则或假设过程中,人们有强烈的对规则加以证实的倾向。
问题:尚未被人们解决的某种思维任务。
问题空间:解决问题时,你所知道的与你所需知道的之间往往存在着差距,差距就是问题空间。
以信息加工的观点看,一个问题可分:
1.初始状态:接受问题,所拥有的信息不够完整。
2.目标状态:确定所希望达到的状态。
3.认知操作:从初始到目标状态的过程中必须采取的步骤思维过程就是采取有效的策略和方法不断缩小问题空间,以至问题解决的过程。
问题特征:
1.目标指向性:明确的目的性。
2.操作系列性:包含有一系列的心理操作才称为问题解决活动。
3.认知性操作:目标指向性活动是靠认知性操作。
问题解决策略方法:
需要运用一系列的认知性操作来从初始状态达到目标状态。
认知性操作也称算子(也就是问题解决)
1.算法式:依照正规的,机械性的途径去解决问题。做法是将各种可能达到目标的方法都算出来,再一一尝试,确定哪一种为正确答案。缺点:费时,费力,缺乏效率。
2.启发式:能够通过观察发现当前问题状态与目标状态的相似关系,利用经验而采取较少的操作来解决问题的方法。缺点:依赖经验,准确性上有及算法式但效率提高。
①手段—目的分析法:先有一个目标(目的)它与当前的状态之间存在着差异,人们认识到这个差异,就要想出某种办法采取活动(手段)来减少这个差异。
其核心:将一个较为复杂的问题分解为几个较简单的子问题。
其要点:1比较初始状态和目标状态,提出第一个子问题:如何缩小两者差距?2找出缩小差距的办法及操作。3如果提出的办法实施条件不够成熟,则提出第二个子问题:如何创造条件。4提出创造条件的办法及操作。5如果第四条也不成熟,则提出第三个子问题,如何创造条件。……直至问题解决。
②爬山法:经过评价当前的问题状态后,限于条件,不是去缩小,而是去增加这一状态与目标状态的差异,经过迂回前进,最终达到解决问题的总目标。
③逆向工作法:目标递归策略,从目标状态出发,按照子目标组成的逻辑顺序逐级向初始状态递归。
影响问题解决因素:
1.问题表征方式:客观事物在头脑中的呈现方式。同一事物或问题由于表征的方式不同,在理解上会出现很大差异。
2.无关信息干扰:人们经常错误地假定:问题中的所给出的条件或数字在解题中都有用,总想办法去利用。
3.功能固着性:格式塔学派研究知觉时发现的,人在知觉一个物体时,倾向于只从它一般性功能上认识它。限制人们的思维和解决问题的能力。
4.心向:坚持使用原有已证明有效的方法解决新问题的心理倾向称心向或心理定势。
想象:对头脑中已有的表象进行加工改造,形成新形象的过程。是一种高级认知活动。
想象特征:
1.新颖性:想象不是回忆,不是对表象的简单重现,而是对旧有的表象积极的再加工和再组合,因此具有新颖性。
2.形象性:想象主要处理图形信息或表象,而不是词或符号,因此具有形象性的特征。
创造性思维:相对常规思维而言的,指重新组织已有的知识经验,提出新的方案或程序,并创造出新的思维成果的思维活动。是人们创造、发明、想象、设计、假设出新的概念、想法与念头或者实物的心理活动。
特征:
1.敏感性:容易接受新现象,发现新问题。
2.流畅性:思维敏捷,反应迅速,对于特定的问题情景能够顺利地做出多种反应或答案。
3.灵活性:具有较强的应变能力和适应性,具有灵活改变定向的能力,能发挥自由联想。
4.独创性:产生新的非凡的思想的能力,表现为产生新奇、罕见、首创的观念和成就。
5.再定义性:善于发现特定事物的多种使用方法。
6.洞察性:能够通过事物的表面现象,认清其内在含义,特性或多样性,进行意义交换。
创造性的测量和鉴别:
创造力:一种能力。创造性:一种倾向。
对创造力和创造性的评估最常用的是发散思维测验:要求个体对一个具体的要求给出几个反应,认为观念流畅性是创造过程的关键万分。
同类测验中最着名的是:
吉尔福特:南加利福尼亚大学创造力测验(1960)测量的是吉尔福特智力结构模型理论中与发散思维有关的内容。
托兰斯:创造性思维测验:是应用最广泛的发散思维测验。其测验任务是要求被试对言语或图形刺激给出多个反应。分三套:1.言语测验:从流畅性、变通性。独特性三方面记分。2.图画测验:除以上三方面,还对精致性记分。3.声音和词的测验:只记独特性得分。
为消除被试的紧张情绪,托兰斯把测验称作“活动”,用游戏形式组织起来,最适合儿童的特点。
创造性的影响因素:
1.智力因素:高创造力必有高智力、高智力却不能保证有高创造力。
2.人格因素:通过比较高低创造性个体发现:高创造性个体经常是具有某些典型的人格特征,如独立,自信,对复杂问题感兴趣,审美取向和冒险精神等。
创造性人格特征:智力属于中上等,并不一定超常;观察、感受力敏锐;流畅性;变通性;独创性;精致性;怀疑;持久性;智力的游戏性;幽默感;独立;自信。
3.环境因素:有积极和消极两方面。主要是通过个人的活动动机起作用。其中尤为重要的是宽松的外部环境和正确的激励促使内部动机发挥作用。不适当的外在行为会使内部动机下降,只靠高水平的外在动机,反而会使创造力遭到扼杀。
4.动机因素:人类的任何行为、活动的产生和维持都离不开动机,创造性活动同样需要动机的维持与激发。
内在动机更有利于个体创造性活动的产生和创造力的发挥与发展。人们被完成工作本身所获得的满足感和挑战性激发,而不是被外在的压力所激发时,才表现最具有创造性。创造本身也可产生动机。
社会和人类学家更多把创造活动看作一种社会文化现象,政治环境会对相应群体的创造表现产生影响。某些因素会直接影响成年人的创造表现,如战争。
创造性思维训练:
1.建立目标与意向。
2.训练基本的技巧:会聚、信息收集、记忆、信息的组织、分析、从现有知识中得出新信息、整合信息、评论技巧。
3.鼓励个体取得某领域的具体知识:是创造性活动的必要条件。
4.刺激和鼓励好奇心。
5.建立动机,特别是内部动机:主要是使参与者获得成就感。
6.建立自信,鼓励冒险精神。
7.强调掌握和自我竞争。
8.培养有关创造力和创造性思维的信念。
9.提供选择和发现的机会。
10.促进自我管理技巧:个体要实现其创造性潜能,必须掌握自我管理的技巧,也就是元认知技巧。
11.传授创造性思维的策略与技术。
12.运用例子。
国内学者:
1.发散思维训练:通过头脑风暴法进行。
2.直觉思维训练:通过鼓励学生大胆猜测、假设、想象等进行。
3.形象思维训练:到大自然中去,接触大自然中各种事物,通过发展表象系统来实现。
Ⅹ 大学计算思维考什么
大学计算思维考形式化,抽象性,概括性,理论性四个方面。
计算思维基本的内容是,运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
涉及理解问题并以一种计算机可以执行的方式表达其解决方案,使用计算机科学中的算法概念与策略来制定、分析和解决问题。
相关信息介绍:
计算思维包括识别模式和顺序、创造算法、设计用于发现以及修正错误的测试,计算思维吸取了问题解决所采用的一般数学思维方法,现实世界中巨大复杂系统的设计与评估的一般工程思维方法,以及复杂性、智能、心理、人类行为的理解等的一般科学思维方法。
计算机科学又从本质上源自工程思维,因为我们建造的是能够与实际世界互动的系统,基本计算设备的限制迫使计算机学家必须计算性地思考,不能只是数学性地思考。
构建虚拟世界的自由使我们能够设计超越物理世界的各种系统。