自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wufeifan_learner的博客

大家一起学习,共同成长

  • 博客(95)
  • 资源 (2)
  • 收藏
  • 关注

原创 判断子集和是否等于常数t(动态规划)

算法老师留了个作业,让给出问题的一个算法,符合题目要求。其中一道题是这样的:翻译一下:给出符合O(nt)的算法,n是正整数数组a[1], a[2], ..., a[n] 的长度;t是正整数。判断数组a的子集和是否等于t?这道题一看就是用dp思想解答,但是dp一直是算法的一个难点,经过各种查询,发现网上的答案给出的解释很简单,但是不容易看懂。本文写给dp思想掌握不好的同学,记录这道题的解决方法。先分析题目:每个元素有两个不同的状态——选与不选。但是如果每个元素都进行相加判断,共需要O(2n)O(2^

2020-10-10 01:16:00 620

原创 cascade自己训练级联分类器(人脸检测)

cascade训练简介后面有详细解释,和步骤代码的实现,可能需要简单修改,建议代码自己先写着试试训练步骤下载文件包opencv。这里的opencv是指编译好的.exe文件,不是需要编译的source源码文件。建议下载3.4版本的,最新版可能训练步骤不同,这里我没有做仔细学习,毕竟新手,等以后熟练了再做解释。windows版本:官网下载iOS版本:官网下载Android版本:官网下载...

2020-04-04 22:32:35 2386 3

原创 人脸识别数据集

https://www.geticsen.cn/Index/article/content/230.html人脸学习数据集一般都在外网,不翻墙很难下载,找了好多终于找到好人存了半度网盘版本的。

2020-03-23 19:07:17 294

原创 新手入门eigenface以及python实现

网上的文章千篇一律有用的代码万里挑一毕设做人脸识别,eigenface作为人脸识别基础的算法,一定不能落下。但是我仔细找了许多文章,发现他们都是出自同一篇文章,用的字母没有标识没有注解,语言也是前后不搭,所以很难根据文章复现代码。各种找有用的文章,一周才完成这个eigenface的算法,这里不谈论深入的东西,只看实现的过程。数据库的选取与读入。我选取的是Yaleface数据库,看文件的...

2020-03-13 01:27:24 2595 6

原创 一些关于Tensorflow的基础概念

什么是tensorflow简单说来,tensorflow是一个从底层到高层的库。什么是张量张量就是客观实体的数字表示形式在tensorflow中,张量是某种相同数据类型的多维数组数据类型(整型,浮点型,字符串等)数组形状 (数组的大小等属性)tenserflow中特殊的张量tf.constant() 常量tf.placeholder() 占位符tf....

2020-02-23 16:23:37 228

原创 springcloud注册中心集群搭建

##建立springboot项目##建立springboot项目,用server添加依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc...

2019-08-19 11:11:16 598

原创 Apollo注册到自己的Eureka注册中心+配置中心集群(超详细)

##重要提示:在任何步骤开始之前,谨记下面的东西##在对apollo-master这个文件进行处理的时候,要找到文件夹scripts下的文件build.bat,苹果用户请找到build.sh,并且在最开始的时候运行上述两个文件;在工程文件夹下,src--->main--->scripts--->startp.sh,将里面的SERVER_PORT改成自己想要的端口号,修改对用...

2019-08-16 17:02:22 14459 1

原创 推荐系统之矩阵分解模型注(四)

终于到了本系列注解文章的最后一个内容,之前若有没有考虑到的内容也会在后期逐步更新,更新内容将会插在前几次和本次的文章中,科普篇 | 推荐系统之矩阵分解模型原理篇 | 推荐系统之矩阵分解模型实践篇 | 推荐系统之矩阵分解模型1 召回与精排1.1 召回一般情况下,推荐系统会推荐给用户有限个数的商品(或项目),而其中真正是用户喜欢的我们称之为相关物品。假设我们向用户推荐了10个商...

2019-06-21 10:52:49 445

原创 推荐系统之矩阵分解模型注(三)

这个看起来高大上的系列注解文章,到这个阶段便是最重要的部分了。有人说,人工智能就是概率论与统计学,实际上我也认为差不多,代码只是实现人工智能的工具,内部的原理是概率论的知识。科普篇 | 推荐系统之矩阵分解模型原理篇 | 推荐系统之矩阵分解模型实践篇 | 推荐系统之矩阵分解模型1 残差平方和1.1 残差所谓残差,就是实际值与估计值的差。百度百科说,如果回归模型正确的话,...

2019-06-20 20:27:17 490

原创 推荐系统之矩阵分解模型注(二)

腾讯这三篇文章,逐渐深入,为我们初步讲解了推荐系统之矩阵分解的方法。科普篇 | 推荐系统之矩阵分解模型原理篇 | 推荐系统之矩阵分解模型实践篇 | 推荐系统之矩阵分解模型1.矩阵分解算法经典的矩阵分解算法有:余弦相似度(Cosine Similarity)、皮尔逊相关系数(Pearson Correlation)、欧氏距离(Euclidean Distance)、jaccar...

2019-06-20 00:21:42 314

原创 推荐系统之矩阵分解模型注(一)

考试月占据了我全部时间,现在专业课终于考完了,还剩几个大作业和几个专业选修课的考试,其中一个就是人工智能。人工智能要作一篇报告,分享自己所学的人工智能领域的知识,时长大概15min。恰逢腾讯技术微信公众号出了三篇推荐系统的讲解,我就打算以这个为原型做一次分享。可是看腾讯的三篇文章,我是一头雾水,许多数学知识没有学过,严重阻碍了对文章的理解。经过大量努力,终于理解了其中的核心内容,现在写一篇博客整合...

2019-06-19 22:27:30 364

原创 二十三种设计模式——模板方法模式

前页:设计模式总述模板模式,简单说,就是基类(一个抽象类)存在已实现和未实现的方法,已实现的方法是通用的,未实现的方法是根据环境不同而不同的。模板类比较容易理解,举个例子:我们都是码农,写一个java代码步骤是什么?配置jdk 下载eclipse、myeclipse、netbeans几个或者一个编译器 打开编译器 编写代码我们简单分析一下:配置jdk是所有程序员都需要做的,这是...

2019-05-06 19:05:46 190

原创 二十三种设计模式——外观模式

前页:设计模式总述当我们设计软件的时候,难免要分工合作。比如A开发服务器。B开发客户端。这种情况下,就有一个很常见的问题,A开发的服务器如何与B开发的客户端联系起来?一种方式就是,服务器端造好各种类,供客户端调用。这样,客户端不必知道服务器端如何实现的这些类和方法,也能使用到服务器提供的方法。举个例子,我们要吃饭,就要买材料,烧水,热锅,切菜,做菜,吃饭。但是如果我们去餐厅,想吃什么告诉服...

2019-04-30 16:50:16 178

原创 二十三种设计模式——原型模式

前页:设计模式总述我们在编程的时候,常常遇见这种情况:大量相同的类进行初始化,需要用到大量的构造函数。最基本的例子:while(count-- > 0){ String a = new String("asd");}这就是最简单的String类的构造函数。当我们频繁创建该对象时,会耗费资源且较耗时,因此,字这种情况下,java给出了一种方法,我们可以实现cloneab...

2019-04-29 17:09:55 500

原创 Java为什么要重写equals方法和hashcode方法(新手场)

这个得从盘古开天说起。(篇幅较长)java中“==”与equals方法的区别 hashcode方法 为什么java中在重写hashmap的时候要重写二者一、 java中“==”与equals方法的区别先看测试代码:public class TestHashMethod { public static void main(String[] args) { String a ...

2019-04-28 19:53:25 1292

原创 二十三种设计模式——适配器模式

前页:设计模式总述所谓适配器模式,就是连接两个不兼容的接口。想想手机适配器,手机可接受电压可不是220V,而家用电压是220V,这就需要适配器兼容二者,给手机充电。同理,适配器模式就如同此例。说来,适配器模式有三种:类适配器 对象适配器 接口适配器实现适配器模式需要哪几种角色呢?很简单:目标角色(插座),源角色(手机),适配器角色(适配器)假设,我现在有一个手机,是typ...

2019-04-24 10:28:41 218

原创 对swift开发中的unwinding segue的一些理解

swift是比较小众的开发语言,与苹果系列的APP对应。此外,swift还是一门新生的语言,因此,在swift学习的道路上,没有很多前辈帮忙采坑,我们在学习的时候必须长期总结积累经验。在一个小项目中,我就被swift的unwinding segue搞糊涂了。情况是这样的:这个小程序写完后,效果应该是像记事本一样。可是当我点击tableView的时候,他会在后面附加值,而不是去...

2019-04-23 21:58:20 355

原创 二十三种设计模式——观察者模式

二十三种设计模式总述当对象间存在依赖关系时,使用观察者模式进行通知其依赖项。比如:C++中的虚函数的实现。当子类重写了虚函数的时候,其虚函数表中该虚函数的的地址就会改变。但是,这不是典型的观察者模式,因为编译器知道地址的改变,但是父类并不知道。实际上,应该是父类的对象发生改变,子类的观察者也会被通知到,这就是观察者模式。举个生活中的例子。老师给学生上课,学生去上课,老师就是被观察者,老师讲...

2019-04-23 09:34:43 256

原创 二十三种设计模式——建造者模式

前页:设计模式总述建造者模式(Builder Pattern),是通过对对象一个一个创建,最终构成一个复杂的对象。我们在做开发的时候,有时候会面临很复杂的一个对象,怎么办?那就先不考虑那么复杂的情况,从简单的对象逐步构建。比如造房子的时候,我们不需要一下造出来摩天大楼,但是我们可以从地基开始,一层一层楼盖,最终建造成摩天大厦。再比如,被熟知的KFC套餐,你可以买“可乐+牛肉堡”套餐A,...

2019-04-18 10:38:15 212

原创 二十三种设计模式——单例模式

前页:设计模式总述单例模式是java中最简单的一种设计模式。所谓单例模式,就是整个程序只允许有一个类的实例,并且向整个系统中提供此事例。有点像C++中被定义为static的变量。比如当我们某个程序只有一个关于打印机的端口,那么我们必须将这个端口设计为单例的,因为如果当多台电脑使用这个打印机的时候,只允许第一台电脑对此进行操作,否则打印机将引起混乱,单例模式特点单例类只能有一个实例。...

2019-04-16 17:10:09 229

原创 二十三种设计模式——抽象工厂模式

上页:设计模式总述我们之前知道了什么是工厂模式,简言之,就是根据参数不同利用不同的类创建不同的对象。实际上,抽象工厂模式和工厂模式相似,只不过是这个工厂中除了生产某种商品,还会生产另一种商品。举个例子:越南代工厂是Nike,Adidas两个工厂的球鞋生产地。现在我们假设球鞋除了品牌都是一样的,那么Nike,Adidas就是工厂类,而越南代工厂就是Nike,Adidas的基类,球鞋...

2019-04-16 14:16:25 131

原创 二十三种设计模式——工厂模式

前页:二十三种设计模式总说工厂模式(Factory Pattern):创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。每次看定义的时候都是一头雾水,实际上就是类似于函数的重载而已。通过菜鸟教程,总结出使用工厂模式的几种方法:实现接口。C++中没有接口这个概念,C++中接口的实现是通过抽象类完成的。如果不知道什么是抽象类,请看:抽象类与纯虚函数。...

2019-04-15 16:47:28 187

原创 二十三种设计模式

设计模式,没听过的人肯定一脸懵逼,正如我最初被问到这个问题一样。我最开始一个都答不上来,所以立志总结23种设计模式。什么是设计模式?设计模式就是利用前人的经验,总结出的可以被反复使用、多数人知晓、经过分类的、代码设计的总结。使用设计模式设计程序有什么好处?提升代码可重用性。 提升代码可靠性。 提升代码的可读性。实际上,设计模式正如一个代工厂,操作员不必理解如何制造工厂中的机...

2019-04-15 15:03:19 229

原创 swift方法performSegue(withIdentifier identifier: String, sender: Any?)

在学习swift开发的路上,做个性格测试的app,结果有一个方法没见过,导致出错很久没发现错误原因。现在回头分析一下这个方法,供自己和他人参考学习。func nextQuestion(){ questionIndex += 1 if questionIndex < questions.count { updateUI() ...

2019-04-08 16:49:45 3228

原创 swift关键字as,as!,as?

在学习swift开发,其中有许多在其他语言中没见过的东西,比如关键字as。 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "ResultsSegue" { let resultsViewContro...

2019-04-07 21:16:16 3653

原创 简述虚函数表

前段时间我在博客中简单地说了下C++的虚函数,所谓虚函数,就是C++实现多态性的方法。那么编译器是如何识别虚函数的呢?据百度百科描述,C++并未规定用何种方法实现虚函数,但是大部分编译器厂商都选择使用虚函数表这种方法,那到底什么是虚函数表???虚函数表,称为V-Table。虚函数表是一片连续的内存区域,每个内存单元存放着JMP指令地址。看到这里,可能会比较懵逼,啥是内存单元,啥是JM...

2019-04-04 18:00:28 6420 5

原创 深拷贝与浅拷贝

前面说到了拷贝构造函数,但是情况并未列举完。我怕文章太长就分开写,看的舒服。有一种情况,那就是当构造函数中有指针操作,怎么办?#include <iostream>using namespace std;class A{private: int *a;public: A(){ a = new int[100]; cout...

2019-04-03 09:08:28 830 5

原创 构造函数与拷贝构造函数

拷贝构造函数和构造函数不能分开说,他们都是初始化对象的一种方法。但是我们这里用构造函数辅助说明拷贝构造函数,主要说说拷贝构造函数的声明,用途和使用注意事项。众所周知,构造函数是一个初始化类对象的函数,即使不显示调用,编译器也会隐式调用构造函数初始化类对象。同样的,拷贝构造函数是一种特殊的构造函数,目的也是初始化类对象,同样在不声明的情况下也会隐式调用该函数。而隐式调用拷贝构造函数的时候,我们称...

2019-04-03 09:07:15 8838 2

原创 堆栈-操作系统(二)

接上文。这篇文章没有涉及到最根本的原理,只是浅谈。毕竟只是记问之学,没有深入研究过,做此章供大家参考。上文我们提到了栈和堆存放不同类型的变量,但是有部分问题仍未解决。这篇文章将简说内存分配的其他空间。代码段:存放代码的空间,这里的代码指的是二进制代码。比如你写了一个hello world的程序,总得有一个地方存放这段程序,而普通c语言代码存放在磁盘中,可是经过编译链接后的代码存放在哪...

2019-04-02 08:45:28 850 1

原创 堆栈-操作系统(一)

很早就想写一篇文章,关于操作系统中的堆栈。说是堆栈,其实就是操作系统如何处理代码的,即如何为代码中的各种类型的变量、常量、方法体(函数体)等等分配内存空间。了解这些内容,可以帮助我们做一些判断:帮助我们在程序出错时更快找到错误地点。 帮助们尽可能利用效率高的方式编程。接下来开始浅析操作系统中的堆栈。堆:由程序员申请的一片数据区域,并在程序执行完之前由程序员手动释放。类似于链表结...

2019-04-01 18:32:44 1924 1

原创 简述虚析构函数与纯虚析构函数

基础知识:C++中,一个类在建成时,需要有构造函数初始化。即当一个类的对象在生成时,会先调用构造函数初始化,再执行接下来的其他函数。而在一个类的对象指针被释放的时候,会调用析构函数。即使析构函数不被声明,也会隐式调用析构函数。那么,当一个派生类继承了一个基类,这时候调用析构函数,会发生什么呢?#include <iostream>using namespace std;...

2019-03-25 19:56:51 1706 1

原创 C++纯虚函数

一般来说,许多时候基类并不能确定函数的实现方法,只能确定函数的功能。但是函数调用的时候必须要用到该函数。这种情况下,C++提供了一种机制,成为纯虚函数,属于虚函数的一种,体现了面向对象的多态性。#include <iostream>#define PI 3.14using namespace std;class Calculate{ virtual double getP...

2019-03-25 18:31:38 2948

原创 C++重载与多态

问:函数重载和函数多态是什么关系?答:重载包括多态吧,重载还有运算符重载。。。。。。。于是,尴尬了。这篇文章说一下重载与多态的区别。其实,重载和多态无论从本质还是从表面上都是不同的。重载overload:函数名相同,但是函数参数不同。调用时根据参数的不同决定调用哪一个函数;多态:函数名相同,函数形参也相同。调用时根据函数类型是虚函数还是普通成员函数决定调用哪一个。所...

2019-03-25 18:03:43 3652 1

原创 C++虚函数概念及使用(基础)

所谓基础不牢,地动山摇。当面试官问到我虚函数和虚析构函数的时候,我真的一点都记不起来了,于是胡说八道,出丑万分。今天就总结一下虚函数的一些内容吧。依照我的习惯,我们先看几个问题:什么是虚函数? 什么是多态性? 多态性是怎么实现的?以上三个问题我完全搞混了,所以面试当场气氛很尬。接下来抱着解决问题的态度来复习一下这些知识点,希望以后能记住。什么是虚函数?在某基类中...

2019-03-25 14:53:38 5927 5

原创 简说C++中define与const的区别

依旧是由于腾讯的面试,我意识到自己的渣。。。面试官问我宏定义的define和const的区别,我只回答了宏定义是预编译,所以速度上比const更快一些,剩下的没回答什么。虽然我也知道define不仅可以定义数,还可以定义函数,但是当时确实没有往这个方向想,所以我想在这里总结一下,为以后的面试和开发做准备。在说区别之前,有几点背景知识是我们需要掌握的。(截图说话,侵删)这是C语...

2019-03-20 21:50:35 500

原创 swift关键字mutating

学校开课ios开发,人生中第二个ios程序就是苹果开发手册中的ApplePie。按照开发手册写肯定没问题,但是其中有许多东西不理解,其中一个函数: mutating func playerGuessed(letter: Character){ guessedLetters.append(letter) if !word.contains(letter) { ...

2019-03-20 09:36:21 431

原创 堆的基本性质与排序算法的实现

前段时间申了腾讯移动开发暑期实习,昨天一轮面试被问到堆的问题(面试官人很好~)。这里的堆是数据结构中的堆,而不是操作系统的堆。然而,堆排序时间太久了,忘掉了一些基本概念,于是面试不出意外是挂掉了(当然不止堆没答上来)。这里总结一下堆的性质,为以后申公司做好准备吧!腾讯面试官问了我一个问题,说100个数字存放在堆中,最差时间找到这个数字是多少。我不确定,先是回答了一个O(nlgn),后来他要具体...

2019-03-19 22:19:42 1258

原创 快速排序简说与实现

大三了,该找实习了。但是大二学的各种算法已经忘完了,在这里复习一下,做个笔记。我们要解决几个问题:什么是快速排序? 快速排序的性能如何? 快速排序是怎么实现的?我们先看第一个问题:什么是快速排序? 快速排序是一种运用了分治思想的排序,是一种内排序(数据存储在内存中的排序)。所谓分治思想,就是分而治之,这类思想在排序算法中拥有很高的使用率,得益于它的时间复杂度。...

2019-03-18 15:38:16 310

原创 11. 盛最多水的容器(中等题)

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(...

2018-09-16 20:18:59 551

原创 7. 反转整数(简单题)

给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31,  2^31 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。这道题说简单也简单,说难...

2018-08-25 15:22:43 5293 1

RBTree.rar

红黑树 java 免费 但不保证正确性

2021-01-08

self_trian_cascade.rar

里面有训练所需的全部资源,如opencv_createsamples、opencv_traincascade、opencv_world343.dll和所需图片。

2020-04-04

空空如也

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

TA关注的人

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