随笔分类 -  算法

摘要:一、算法定义 假设当你正在使用适当的输入数据进行一些计算。你在每个实例中都进行了一些计算,以便得到一些结果。当你提供相同的输入时,你不知道会有相同的输出,这就导致了你之前计算某些结果的宝贵时间被浪费掉了。你可以通过保存之前的计算结果去轻易地解决这个问题。比如通过使用恰当的数据结构等。 现在通过分析这 阅读全文
posted @ 2020-05-19 13:36 John_yan15 阅读(701) 评论(0) 推荐(0) 编辑
摘要:一、基本概念 所谓贪心算法是指,在对问题求解时,总是 做出在当前来看是最好的选择。也就是说,不从整体最优上加以考虑,通过贪心算法做出来的往往是在把 原问题拆分成几个小问题,分别求 每个小问题的最优解,再把这些“局部最优解”叠起来,就作为整个问题 当前 的最优解。 贪心算法无固定的算法框架,算法设计的 阅读全文
posted @ 2020-05-19 12:41 John_yan15 阅读(1190) 评论(0) 推荐(0) 编辑
摘要:1. 基本定义 又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*) 2. 代码实现 2.1 基本递归代码(不实用) 阅读全文
posted @ 2020-05-18 12:50 John_yan15 阅读(2766) 评论(0) 推荐(0) 编辑
摘要:1. 优化冒泡排序 O(n2) 算法描述:两两比较,将较小的数字置前,逐一替换; 算法优化点:使用flag来判断是否使用了swap交换,若本身有序则直接break; 算法分析:稳定,但慢,每次只能移动相邻两个数据。 动图演示: 代码: 1 void bubble_sort(vector <int> 阅读全文
posted @ 2020-05-17 12:59 John_yan15 阅读(607) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示