教材学习内容总结
第六章学习了Polya在他的经典著作《如何解决它》中列出了数学问题的求解策略。这个策略适用于所有问题,包括那些要编成计算机程序的问题。这些策略的步骤是提出问题,寻找熟悉的情况,然后用分治法解决。应用这些策略时,将生成一个解决问题的方案。在计算领域,这种方案称为算法。循环有两种,分为计数控制循环与事件控制循环。计数控制循环会执行预定次数的循环,而事件控制循环则是执行到循环中事件的改变。数据有两种形式:不可分割的和复合的。数组是一种同构的结构,给出了一个有名称的元素的集合和允许用户访问个别元素在结构中的位置。搜索是指在数组中寻找一个特定值的行为。在这一章中,我们介绍了无序数组的线性搜索、有序数组的线性搜索和有序数组中的二分检索。排序是指将数组中的元素按一定的顺序排列。在排序算法中有四种常见的算法,分别是搜索排序、冒泡排序、插人排序和快速序。 递归算法是指可以在子程序自身身中出现子程序名的算法。阶乘和二分检索实际上就是递归算法。
- 问题求解的几个过程:必须理解问题,找到信息和解决方案之间的联系,执行方案,分析得到的解决方案
- 分治法:把大的问题分成一个个小问题。
- 算法:在有限的时间内用有限的数据解决问题或子问题的明确指令集合。
- 计算机问题的求解过程有四个阶段:分析和说明阶段,算法开发阶段,实现阶段和维护阶段。
- 测试算法:在编码算法的各种条件下运行程序,然后分析结果以发现问题。
- 有简单参数的算法:在算法中使用简单变量。
- 带有选择的算法,带有循环的算法,事件控制循环。
- 嵌套结构:控制结构嵌入另一个控制结构的结构,又称为嵌套逻辑。
- 抽象步骤:细节仍未明确的算法步骤。
- 具体步骤:细节完全明确的算法步骤。
- 字符串:引用中的字母叫做字符串。
- 数组:是同构项目的有名集合,可以通过单个项目在集合中的位置访问它们。项目在集合中的位置叫做索引。
- 记录:是异构项目的有名集合,可以通过名字单独访问其中的项目。
- 二分检索:在有序列表中查找项目的操作,通过比较操作排除大部分索检范围。
- 递归:算法调用它本身的能力。
- 数据抽象:把数据的逻辑视图和它的实现分离开。
- 过程抽象:把动作的逻辑试图和它的实现分离开。
- 控制抽象:把控制结构的逻辑视图和它的实现分离开。
- 控制结构:用于改变正常的顺序控制流的语句。
教材学习中的问题及解决过程
- 问题一:插入排序和直接排序的区别,还有没有其他排序
- 问题一解决过程:参考老师云班课的资源,还有通过博客园上的文章博客的动图展示了解更多。
学习思考感悟
通过学习,感到对于老师发布的参考资料和选做作业,在完成时需要去查资料和自己消化吸收,并与课本上的内容结合理解,才能更好的学习提升知识。