湘潭大学软件工程算法设计与分析考试复习笔记(四)

回顾

前言

现在是晚上十一点,我平时是十一点睡觉的,但是今天确实一天都没有复习这个,我还是想复习一下。所以还是复习一下吧。

现在复习的是程序填空,一空四分,四十分,也就是说十个空。这个这么难,好像老师是说看大家造化了哈哈哈。

第三道大题是算法设计与分析,前面三篇笔记是复习了一下第一道大题,也就是对算法的大概的理解。第三道大题主要是分治法,解决实际问题(上台阶,电梯),分析时间复杂度,求一个序列中特殊性质的元素,数塔求最大的,最小的和,最优路径,tsp 问题,(这个之前不知道是啥问题,现在大概知道了一些,就是图论题)

cpp 复制代码
10+40+xx+15=100

好吧。那就是这样子了,考试重点就是这些了。现在开始复习程序填空。

计划

有个朋友和我说,她先看课件,然后最后再复习程序填空,先有一个框架,感觉确实是这样,那我也先复习后面的那个算法设计比较好。程序填空确实范围比较大。还有一点就是课件上面的代码我得下载下来才能复制里面的内容,之后方便的时候再操作一下。

分治

前面老师画的重点有提到分治解决各种问题,分治,我现在不看课件对这个概念的理解比较浅显:就是把一个比较复杂的问题分解成为很多子问题,一步一步划分,直到划分到我们能够处理,好像听起来很简单,在现实生活中其实非常非常难,因为我们是有感情的人类,我们在分解任务的时候会有情绪,然后会因为各种各样的原因做不到。

概述

有八个小节,容量上面还是比较多的。课件是第二章,我们前面大致复习了一下 4 5 7 这三个章节。复习完第二章,就算真正的复习完一半了,今天是周三,离考试不到一周的时间了。另外有个朋友联系我让我发一些资料给他,哈哈哈,其实我也没有什么资料,和他一样也是慌的一批地准备期末考试,但是就算害怕也要装作无所谓的样子。

递归

按照我的理解就是,最开始给定的 n 是不能直接解决的问题,比如说一开始让造一个火箭,递归就是问能不能造一个火箭头,不能,然后能不能造个啥,不能,...,最后问,能不能帮忙拧一下这个螺丝钉?可以,那就是所谓的递归出口。

递归形式

  • 多变元递归
  • 多步递归
  • 嵌套递归
  • 联立递归

上面这些一个都看不懂,好像也不会考。考应该是考怎么解决实际问题,时间复杂度是多少。看这种复杂的东西真的看不进去。

实例

这页课件有朋友在很早之前就问过我,可惜我看不懂。

常数和系数没搞懂,指数那块感觉是这样推导的。

递归小结

递归的时间复杂度可以看到是指数级别的,在很多情况下都是不可接受的。或者说比较难。

分治基本思想

我就一直感觉什么分治,递归,贪心,动态规划,都很像,它不像那些复杂的数据结构或者图论,完全是一些看不懂的代码,这几个更像是一种内功,就是表现出来非常朴素,但是里面蕴含的思想是非常深刻的。

只看的懂这个,就是画一棵二叉树,根节点是 n-m ,往下一层全是 n-m-1 ,再往下一层全是 n-m-2 ,一直画下去,最后减小到 1 ,分治结束,从 1n-m 一共有 n-m 层,又因为是二叉树,所以时间复杂度是 O(2^(n-m))

棋盘覆盖问题

这个是很经典的递归的问题,很明显我是一直没有学会的那一批,被这种题折磨得痛苦不堪,其实也还好,因为下意识远离这个题了,没有直面它,之前问过老师这个题,给我发了很多条信息,我似懂非懂。oj 或者网上的刷题网站有很多变体,什么贴瓷砖之类的。

后记

复习到这儿,明天再继续复习。

相关推荐
zhaoyang030115 分钟前
css3笔记 (1) 自用
前端·javascript·css·vue.js·笔记·html·css3
moxiaoran57534 小时前
uni-app学习笔记二十九--数据缓存
笔记·学习·uni-app
C++ 老炮儿的技术栈5 小时前
UDP 与 TCP 的区别是什么?
开发语言·c++·windows·算法·visual studio
殇者知忧5 小时前
【论文笔记】若干矿井粉尘检测算法概述
深度学习·神经网络·算法·随机森林·机器学习·支持向量机·计算机视觉
mochensage6 小时前
C++信息学竞赛中常用函数的一般用法
java·c++·算法
chengooooooo7 小时前
leetcode Top100 238. 除自身以外数组的乘积|数组系列
算法·leetcode
GUIQU.7 小时前
【每日一题 | 2025年6.2 ~ 6.8】第16届蓝桥杯部分偏简单题
算法·蓝桥杯·每日一题
自小吃多7 小时前
STC8H系列 驱动步进电机
笔记·单片机
weixin_527550408 小时前
初级程序员入门指南
javascript·python·算法
moxiaoran57539 小时前
uni-app学习笔记三十--request网络请求传参
笔记·学习·uni-app