自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (6)
  • 收藏
  • 关注

原创 小白进阶之贪心算法VS动态规划

贪心算法和动态规划相同点:要求一个问题具有最优子结构的性质。不同点:动态规划每一步都要进行一次选择,但是选择依赖于子问题的解;               贪心算法进行选择时,直接作出在当前问题中看来最优的选择,而不考虑子问题的解。例如0-1背包问题就可以用动态规划解决而不能用贪心算法,但是分数背包问题就是用贪心算法解决而不是动态规划。关于0-1背包问题,有一个很好的博文可以分

2016-06-29 09:22:11 417

原创 小白进阶之贪心算法-赫夫曼编码

赫夫曼编码是根据字符的使用频率对字符进行编码的一种编码方法,其用于压缩数据的效果非常好。一般用二叉树表示赫夫曼编码,使用频率越低的字符,其深度越大。其中q表示一个按频率从小到大排序的优先队列。在赫夫曼编码的表示中,通常用前缀码的表达方法。前缀码即没有任何码字是其他码字的前缀,其作用是简化解码过程。用二叉树表示前缀码时,0表示转向左孩子,1表示转向右孩子。文件的最优编码方案总是对应一棵满二叉树。

2016-06-28 16:42:55 566

原创 小白进阶之动态规划-矩阵链乘法

问题描述:给定一个n个矩阵的序列(A1,A2,A3,...,An),希望计算它们的乘积的花销最小。用序列p= (p0,p1,p2,...,pn)表示矩阵序列的规模,m[i,j]表示计算矩阵Ai,j所需的标量乘法次数的最小值,s[i,j]记录最优值 m[i,j]对应的分割点k。下面是源码;matrixChain.h#include#include#includeint matr

2016-06-28 11:07:56 326

原创 小白进阶之动态规划-最优二叉搜索树

问题描述:给定关键词序列k=(k1,k2,...,kn)及其相应的概率pi,以及 n+1个伪关键字d0,d1,...,dn不在k值中。其中d0表示小于k1的值,dn表示大于kn的值,对于i=1,2,...,n-1,di表示在 ki和ki+1之间的值,用qi表示其搜索概率。用w(i,j)表示关键字ki,ki+1,...,kj的概率之和,e[i,j]表示包含关键字 ki,ki+1,...,kj

2016-06-28 11:03:10 534

原创 小白进阶之动态规划-最长公共子序列

问题描述:给定两个序列x=(x1,x2,...,xm)和y=(y1,y2,...,yn),z=(z1,z2,...,zx)为x 和y的任意最长公共子序列(LCS),c[i,j]表示xi和yj的LCS的长度,b[i,j]指向表项对应计算C[i,j]时所选的子问题的最优解。子问题分解如下:(1)若xm=yn,则zk=xm=yn且zk-1是xm-1和yn-1的一个LCS;(2)若xm!=

2016-06-28 10:58:45 302

原创 小白进阶之贪心算法-活动选择问题

问题描述:给定活动集合,包括活动i的开始时间si和结束时间fi,求最大兼容活动子集。i1234567891011si130535688212fi4567991011121416问题的解法有

2016-06-28 10:56:18 323

原创 小白进阶之动态规划-钢条切割

关于动态规划算法,首先是:什么样子的问题适合用动态规划算法来解呢?适合用动态规划算法解的问题应具有两个性质:最优子结构性质和具有重复子问题最优子结构性质是指:若一个问题的最优解包含其子问题的最优解,则此问题具有最优子结构性质。具有重复子问题性质是指:问题的递归算法会反复求解相同的子问题。然后是:动态规划算法的设计有四个步骤:1.刻画一个最优解的结构特征-寻找最优子结

2016-06-27 18:47:19 632

原创 小白进阶之期望为线性时间的选择算法

期望为线性时间的选择算法,最坏时间复杂度为:θ(n²),期望时间复杂度为:θ(n)。选择算法用到了以前快速排序时用到的随机划分。目的是找出数组中第i个元素。算法的思想为:先随机划分,再看i的位置,若是i刚刚好等于随机划分的位置,则返回此位置的数组元素值,否则根据i的位置递归调用选择函数,寻找第i 个元素。与快速排序不同的是,此算法只要在一边递归调用函数就可以了,而快速排序需要两边都进行调用

2016-06-22 09:40:49 1542

原创 小白进阶之线性排序算法之计数排序、基数排序和桶排序

线性排序算法主要有三个:计数排序、基数排序和桶排序。计数排序:时间复杂度为O(n)。算法基本思路是:假设n个元素中的每个都是在0到k区间内的一个整数(其中k为某整数)。对于每个输入元素x,确定小于x的元素个数,利用这一信息,就可以直接把x放到它在输出数组中的位置了。基数排序:时间复杂度为θ(d(n+k))(其中d表示d位数,n表示共有n个d位数,k表示 每位数都在0到k-1区间内)。算

2016-06-22 07:47:40 408

原创 小白进阶之矩阵乘法

纠结犹豫了几天,终于还是下定决心写一下矩阵乘法。矩阵乘法有三种实现方法:暴力求解法、分治法、Strassen方法。暴力求解法就是用for循环,一个一个元素的算;分治法是把矩阵分为四块儿,再递归算;Strassen方法则是根据公式来计算。其实分治法和Strassen方法调用的函数是差不多的,但是Strassen方法的时间复杂度要小很多。下面就是源码了:multiply.h

2016-06-20 11:32:14 510

原创 小白进阶之快速排序

快速排序算法也用到了分治的思想。快速排序算法的平均性能很好,通常是实际排序应用中的最好的选择。分解:数组a[p..r]被划分成两个子数组(可能为空)a[p..q-1]和a[q+1..r],使得a[p..q-1]中的每一个元素都小于等于a[q],而a[q+1..r]中的每个元素也大于等于a[q]。解决:通过递归调用快速排序,对子数组a[p..q-1]和a[q+1..r]进行排序。合并:子

2016-06-19 14:29:17 301

原创 小白进阶之优先队列排序

优先队列排序是堆的常见应用。优先队列和堆一样,有两种形式:最大优先队列和最小优先队列。此处是基于最大堆实现最大优先队列。最大优先队列的应用有很多,其中一个就是在共享计算机系统的作业调度。下面是代码:"priorityQueue.h"#include#include#includeint heapMaximun(int *a);//返回队列中的最大值int heapExt

2016-06-19 13:15:40 322

原创 小白进阶之堆排序

堆排序与归并排序一样,但不同于插入排序的是堆排序的时间复杂度为O(nlgn)。而与插入排序相同,但不同于归并排序的是堆排序同样具有空间原址性:任何时候都只需要常数个额外的元素空间存储临时数据。堆分为最大堆和最小堆。最大堆性质是指除了跟以外的所有结点i都满足:a[parent(i)]>=a[i];最小堆性质是指除了跟以外的所有结点都满足:a[parent(i)]此处堆排序使用的是最大堆。

2016-06-19 11:04:51 295

原创 小白进阶之随机排列数组

在《算法导论》的第五章讲的是概率分析和随机算法,于是产生了现在的随机排列数组问题。随机化有助于平衡输入分布,进而有利于分析一个算法的平均情况行为。特意去看了一下C语言里面产生随机数的函数(虽然是伪随机数)。两个基本函数为:int rand(void);void srand(unsigned int n);具体的可以参考如下:http://blog.sina.com.cn

2016-06-19 09:29:17 345

原创 小白进阶之寻找最大子数组问题

寻找最大子数组问题即为寻求数组中连续的最大子数组和。我尝试了三种求解办法:分治法、暴力求解法和动态规划。个人觉得分治法实现起来较为困难,而暴力求解法虽然时间复杂度较大,但是实现起来简单呐,然后动态规划实在是让人心旷神怡的解决办法,强烈推荐。暴力求解法:暴力求解法就是算出所有可能的子数组和,比较大小,得出最大子数组。下面时暴力求解法源码:int findMaxSubarray

2016-06-16 10:13:03 399

原创 pcap文件解析

看了很久终于搞清楚怎么解析pcap文件啦~以前的一个版本是我把pcap包保存成.txt,删除冗余项,然后再依照格式读入,输出相应格式。后来,我发现其他同学都是用.pcap格式直接读入的,然后我就不懂了,直接读入的pcap文件格式应该是什么样子的?根据实战经验,应该就是网上各种教程解析的那种格式,根据那种格式按字节读入就可以啦!下面上代码:这个是pcap.h 里面定义了pcap文件的主要结构体。

2016-06-15 07:30:17 8643 11

Semi-Supervised Learning with Ladder Network

阶梯网络论文3:《Semi-Supervised Learning with Ladder Network》

2020-03-01

Denoising autoencoder with modulated lateral connections

阶梯网络论文2:《Denoising autoencoder with modulated lateral connections learns invariant representation of natural images》

2020-03-01

From neural PCA to deep unsupervised learning..pdf

阶梯网络论文1:《From neural PCA to deep unsupervised learning.》

2020-03-01

OmegaOptions.bak

switchyomega导入文件 用于设置代理。

2020-02-25

ADO连接数据库-基于mfc的简单实现

基于mfc的ado连接数据库方式的简单实现,其中包含一个列表视图,用于显示数据库中的数据和对数据进行操作

2016-08-06

ADO连接数据库-MFC简单实现

ADO连接数据库-MFC简单实现

2016-08-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除