摘要: 《趣学算法》学习打卡Day7 为了使程序代码的逻辑性更强,可阅读性更好,上课老师有教模块化编程,那么来看看: 模块化程序设计: 将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个确定的功能,并在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能的程序设计方法。 利用函数: 不仅 阅读全文
posted @ 2020-09-02 23:00 zengping_fun 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 动态规划相关代码实现: 1、孩子有多像爸爸——最长的公共子序列 //program 4-1 #include <iostream> #include<cstring> using namespace std; const int N=1002; int c[N][N],b[N][N]; char s 阅读全文
posted @ 2020-09-02 21:34 zengping_fun 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 分治法代码实现 1、猜数游戏——二分搜索技术 //program 3-1 #include<iostream> #include<cstdlib> #include<algorithm> using namespace std; const int M=10000; int x,n,i; int s 阅读全文
posted @ 2020-09-02 21:34 zengping_fun 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 贪心算法相关代码实现 以下代码搬运自《趣学算法》实战演练 1、加勒比海盗船——最优装载问题 #include <iostream> #include <algorithm> const int N=1000005; using namespace std; double w[N]; //古董的重量数 阅读全文
posted @ 2020-09-02 19:11 zengping_fun 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 《趣学算法》学习打卡Day6 附录A 特征方程和通项公式 ​ 了解这个知识点,那么你需要回顾一下斐波那契数列,推导有点麻烦,涉及数学公式的输入,skip这个点啦! 附录B sort函数 ​ 头文件:include< algorithm> ​ 语法描述为: sort(begin,end)//参数beg 阅读全文
posted @ 2020-09-01 23:08 zengping_fun 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 《趣学算法》学习打卡Day5 动态规划相应问题: 神奇的兔子序列 动态规划基础 孩子有多像爸爸——最长的公共子序列 DNA基因鉴定——编辑距离 长江一日游——游艇租赁 快速计算——矩阵连乘 切呀切皮萨——最优三角剖分 小石子游戏——石子合并 大卖场购物车1——0-1背包问题 快速定位——最优二叉搜索 阅读全文
posted @ 2020-08-31 23:00 zengping_fun 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 《趣学算法》学习打卡Day 4! 分治法 1、山高皇帝远 ”凡治众如治寡,分数是也。“——《孙子兵法》 将一个大规模的问题分解成若干个规模较小的相同子问题,分为治之。 分治的基本条件: 原问题可以分解成若干个规模较小的相同子问题。 子问题相互独立。 子问题的解可以合并为原问题的解。 2、猜数游戏—— 阅读全文
posted @ 2020-08-30 23:01 zengping_fun 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 《趣学算法》学习打卡:Day3! 沟通无限校园网——最小生成树! 问题分析: 问题:把一个无向图连通,使得所需要的权值之和最小。 对于n个顶点的连通图(无向图),只需要n-1条边就可以使这个图连通,n-1条边要想保证图连通,就必须不包含回路,所以我们只要找出n-1条权值最小且无回路的边即可。 子图: 阅读全文
posted @ 2020-08-29 20:48 zengping_fun 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 《趣学算法》学习打卡:Day2 神秘电报密码——哈夫曼编码(哈夫曼树) 哈夫曼编码 : (一):编码尽可能的短:根据字符使用频率不同(权值不同),当进行编码储存时,频率高的编码短,频率低的编码长(不定长编码),从而节省储存空间。 注: 如果字符使用的频率是相同的,固定长度编码时空间效率最高的办法 ( 阅读全文
posted @ 2020-08-28 19:44 zengping_fun 阅读(136) 评论(1) 推荐(1) 编辑
摘要: 《趣学算法》学习打卡:Day1 1、算法是什么? 算法是程序的灵魂,研究算法就是研究程序运行时,所需要时间和空间,所以评判算法的好坏就是从:时间复杂度和空间复杂度;理所当然,时间复杂度和空间复杂度越低越好ya,越低说明算法的质量很高。研究算法的目的,就是为了提高程序代码的质量,使程序完成一个相同的功 阅读全文
posted @ 2020-08-27 20:56 zengping_fun 阅读(111) 评论(0) 推荐(0) 编辑