
趣学算法学习笔记
PeterBishop0
一起进步!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
前言
机缘巧合之下有幸拜读了陈小玉老师的《趣学算法》,觉得真的很适合我这种萌新入门算法,里面的例子也是非常的详细,之前粗略的浏览了一部分的纸质书,但是一段时间又会遗忘,于是购买了电子版,并且坚持每日更新这个系列,监督自己认真学习和记笔记,早日掌握基础算法,在此向陈老师致敬!PS:本系列只是书本的精简,我会省去很多描述直接给出重点,直接引出题目和知识点以及题解,如有不适可以QQ联系我...原创 2018-08-12 21:40:25 · 249 阅读 · 0 评论 -
动态规划——4.2动态规划基础
原创 2018-10-02 22:33:37 · 272 阅读 · 0 评论 -
动态规划—4.1兔子序列
原创 2018-10-02 22:25:30 · 1000 阅读 · 0 评论 -
分治法——3.5大整数乘法
#include<stdlib.h>#include<cstring>#include<iostream>#define M 100using namespace std;char sa[1000];char sb[1000];typedef struct N...原创 2018-08-25 11:41:34 · 826 阅读 · 0 评论 -
分治法——3.4快速排序
#include<iostream>using namespace std;int Partition(int r[], int low, int high){ int i = low, j = high, pivot = r[low]; while (i<j) { while (i<j&&r[j]>piv...原创 2018-08-24 23:25:31 · 714 阅读 · 0 评论 -
分治法——3.3合并排序
#include<iostream>#include<cstdlib>#incclude<cstdio>using namespace std;void Merge(int A[],int low,int mid,int high){ int *B=new int[high-low+1];//申请一个辅助数组 ...原创 2018-08-24 21:00:06 · 333 阅读 · 0 评论 -
分治法——3.2二分搜索技术
图解如下 代码实现原创 2018-08-24 20:38:10 · 416 阅读 · 0 评论 -
贪心算法——2.7最小生成树
详细实现请点击查看 书本内容(因为我在博客中别的地方已经实现故直接给出链接):原创 2018-08-21 11:03:54 · 682 阅读 · 0 评论 -
贪心算法——2.6哈夫曼编码
详细实现请点击查看 书本内容(因为我在博客中别的地方已经实现故直接给出链接):原创 2018-08-21 10:43:12 · 692 阅读 · 0 评论 -
贪心算法——2.5最短路径(Dijkstra)
图解如下: 代码实现如下:#include<queue>#include<iostream>#include<cstring>using namespace std;const int N = 100;const int INF = 1e7;int map[N][N], dis...原创 2018-08-21 10:34:27 · 2041 阅读 · 0 评论 -
分治法——3.1分治本质
分治法本质:将一个大规模的问题分解为若干个规模较小的相同子问题,分而治之分治法的条件:(1)原问题可以分解为若干个规模较小的子问题;(2)子问题相互独立(3)合并子问题的解就能得到最终解分治法的步骤:(1)分解:将要解决的问题分解为若干个规模较小、相互独立、与原问题形式相同的子问题;(2)治理:对于每一个问题都有相同的解决方法;(3)合并:按照原问题的要求,将子...原创 2018-08-23 23:06:55 · 387 阅读 · 0 评论 -
贪心算法——2.2最优装载问题
问题描述如上,易知只要每一件都是挑选质量最小的,就可以实现贪心目标(载重量恒定的情况下)代码实现如下:原创 2018-08-17 14:45:22 · 2788 阅读 · 0 评论 -
贪心算法——2.4会议安排
问题描述如上,这是一个典型的会议安排问题,会议安排的目的是在有限的时间内召开最多的会议(任何两个会议不能同时进行)。每一个会议都有起始时间bi和结束时间ei且bi<ei,即一个会议的进行时间为半开区间[bi,ei),如果[bi,ei)和[bj,ej)不相交,则会议i和j相容。贪心策略有三种选择:在这里我们选择第三种,其实就是在最短的时间里面开最多的会,...原创 2018-08-17 15:52:47 · 824 阅读 · 0 评论 -
贪心算法——2.3背包问题
问题描述如上,假设山洞有n种宝物,每一种有对应的种类w和价值v,毛驴的运载能力有限,只能运走m质量的宝物,一种宝物只能拿一样,但可以分割,如何使得总价值最大?我们可以采用贪心策略,每次挑选单位质量价值最大的宝物,从而达到最优解 ,图解如下: #include<iostream>#include<algorithm>const int M=...原创 2018-08-17 15:15:29 · 892 阅读 · 0 评论 -
贪心算法——2.1贪心算法本质
贪心算法本质: 从问题的初始解出发,一步一步的做出当前最好的选择,尽可能的得到最优解或近似最优解(只根据当前的信息判断,希望通过局部最优得到整体最优)可用贪心算法求解的重要性质:(1)贪心选择:原问题的整体最优解可以有一系列的局部最优解得到,将原问题变成一个相似的规模更小的问题,只依赖于已经做出的选择。(2)最优子结构:一个问题的最优解包含其子问题的最优解解决步骤:...原创 2018-08-16 22:21:59 · 1544 阅读 · 0 评论