常用算法及策略(递归)
- 格式:ppt
- 大小:332.00 KB
- 文档页数:17


心理学-思维与创造性(三)-2(总分100, 做题时间90分钟)一、单选题1.人们在解决问题时,通过增加初始状态与目标状态的差异以最终达到解决问题的目的,这种解决问题的方法是______SSS_SINGLE_SELA 启发式B 手段—目的分析法C 爬山法D 算法式分值: 1答案:C[解析] 经过评价当前的问题状态后,限于条件,不是去缩小,而是去增加这一状态与目标状态的差异,经过迂回前进,最终达到解决问题的总目标,这种解决方法称为爬山法。
答案为C。
2.在问题解决过程中,采取从目标状态出发,按照子目标组成的逻辑顺序逐级向初始状态递归的策略,称作______SSS_SINGLE_SELA 逆向工作法B 爬山法C 手段—目的分析法D 算法式分值: 1答案:A[解析] 本题是识记能力概念的考查。
这种策略是从目标状态出发,按照子目标组成的逻辑顺序逐级向初始状态递归的策略,称为逆向工作法。
答案为A。
3.在认知心理学中,表征是指______SSS_SINGLE_SELA 客观事物在头脑中的呈现方式B 客观事物的表面特征C 形象代码D 语义代码分值: 1答案:A[解析] 本题是识记能力概念的考查。
表征指客观事物在头脑中的呈现方式。
同一事物或问题由于表征的方式不同,在理解上会出现很大差异。
答案为A。
4.人脑对已有表象进行加工改造,形成新形象的过程称为______SSS_SINGLE_SELA 综合B 想像C 抽象D 联想分值: 1答案:B[解析] 想像是对头脑中已有的表象进行加工改造,形成新形象的心理过程。
答案为B。
5.思维敏捷、反应迅速、对于特定问题情景能够顺利做出多种反应或答案,这种创造性思维的特性是______SSS_SINGLE_SELA 独特性B 流畅性C 灵活性D 洞察性分值: 1答案:B[解析] 创造性思维的特征有:(1)敏感性;(2)流畅性;(3)灵活性;(4)独创性;(5)再定义性;(6)洞察性。
递归查找方法
1.二分查找法:递归地在有序数组中查找目标元素。
该方法
首先将数组的中间元素与目标元素进行比较,如果相等则返回
该元素的索引,如果目标元素小于中间元素,则在数组的左半
部分继续查找,否则在数组的右半部分继续查找,直到找到目
标元素或者数组为空。
2.深度优先搜索算法(DFS):在图结构中查找目标元素。
DFS通过递归地遍历图的邻接节点来查找目标元素。
具体实现时,需要使用一个布尔数组来标记已经访问过的节点,以避免
重复访问。
3.广度优先搜索算法(BFS):同样用于图结构中查找目标
元素。
BFS通过递归地遍历图的邻接节点,但是与DFS不同的是,BFS通过使用一个队列来实现节点的访问顺序。
具体实现时,首先将起始节点入队列,然后按照先入先出的顺序逐个出
队列并访问节点的邻接节点,直到找到目标元素或者队列为空。
4.递归遍历树结构:在树结构中查找目标元素的最直接方法
是通过递归地遍历树的每个节点来查找。
这种方法可以使用前序、中序或后序遍历三种方式来实现,具体选择哪种方式取决
于具体问题的要求。
数据结构论文——递归算法的讨论所谓递归算法是把问题转化为规模缩小了的同类问题的子问题。
然后递归调用函数(或过程)来表示问题的解。
一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数)。
递归过程一般通过函数或子过程来实现。
递归方法:在函数或子过程的内部,直接或者间接地调用自己的算法。
递归算法是一种直接或者间接地调用自身算法的过程。
在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。
递归算法解决问题的特点:(1) 递归就是在过程或函数里调用自身。
(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。
(3) 递归算法解题通常显得很简洁,但递归算法解题的运行效率较低。
(4) 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。
递归次数过多容易造成栈溢出等。
所以一般不提倡用递归算法设计程序。
下面就让我们结合例子详细讨论一下递归算法。
一、递归算法的原理递归算法简单的说就是在函数中调用函数自身,不断调用,直到满足函数得出计算结果(某个条件)。
因为其需要不断循环的调用自身,所以称为递归调用。
递归的原理,其实就是一个栈(stack), 比如求5的阶乘,要知道5的阶乘,就要知道4的阶乘,4又要是到3的,以此类推,所以递归式就先把5的阶乘表示入栈, 在把4的入栈,直到最后一个,之后呢在从1开始出栈, 看起来很麻烦,确实很麻烦,他的好处就是写起代码来,十分的快,而且代码简洁,其他就没什么好处了,运行效率出奇的慢。
还有一个十分形象的例子:从前有座山,山里有个庙,庙里有个老和尚正在讲故事:从前有座山,山里有个庙,庙里有个老和尚正在讲故事:从前有座山,山里有个庙,庙里有个老和尚正在讲故事……如此循环往复到最终的要求。
递归分为2种,直接递归和间接递归。
直接递归,比如方法A内部调用方法A自身。
间接递归,比如方法A内部调用方法B,方法B内部调用方法C,方法C 内部调用方法A。