![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法设计与分析
SuperZXin
生命不息,奔流不止
展开
-
AcWing 113.红与黑(DFS,BFS)
题目描述: 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。 你站在其中一块黑色的瓷砖上,只能向相邻(上下左右四个方向)的黑色瓷砖移动。 请写一个程序,计算你总共能够到达多少块黑色的瓷砖。 输入格式 输入包括多个数据集合。 每个数据集合的第一行是两个整数 W 和 H,分别表示 x 方向和 y 方向瓷砖的数量。 在接下来的 H 行中,每行包括 W 个字符。每个字符表示一块瓷砖的颜色,规则如下 1)‘.’:黑色的瓷砖; 2)‘#’:红色的瓷砖; 3)‘@’:黑色的瓷砖,并且你站在这块瓷砖上。该字符在原创 2021-01-14 19:17:24 · 81 阅读 · 0 评论 -
算法设计与分析A 复习总结2
第三章 蛮力法 1.冒泡排序(BubbleSort) 算法思想:冒泡排序的原理(以递增序为例)是每次从头开始依次比较相邻的两个元素,如果后面一个元素比前一个要大,说明顺序不对,则将它们交换,本次循环完毕之后再次从头开始扫描,直到某次扫描中没有元素交换,说明每个元素都不比它后面的元素大,至此排序完成。 时间复杂度:①若初始状态是有序的,扫描一趟就可完成排序,此时的时间复杂度最优为O(n) ②若初始状态为逆序的,就需要n趟排序,总共需要比较和移动n(n-1)/2次,则时间复杂度最坏为O(n^2) 所以综原创 2020-08-11 19:43:59 · 369 阅读 · 0 评论 -
算法设计与分析A 复习总结1
一.算法的定义 ①算法:解决问题的一种方法或一个过程,是一个由若个运算或指令组成的有穷序列 ②算法的特点: 有输入输出 确定性 可行性 有穷性 二.分析框架 先要了解时间复杂度和空间复杂度: 时间复杂度:执行算法需要消耗的时间长短 空间复杂度:执行算法需要消耗的存储空间大小 1.蛮力法 思想:是一种简单直接地解决问题的方法,常常直接基于问题的描述和所涉及的概念定义 例子:选择排序和冒泡排序,顺序查找和蛮力字符串匹配,最近对和凸包问题,穷举查找,深度和广度优先查找算法 2.减治法 思想:把原问题原创 2020-08-11 14:14:23 · 291 阅读 · 0 评论