Fork me on GitHub
摘要: 最近几天在研究排序算法,看了很多博客,发现网上有的文章中对排序算法解释的并不是很透彻,而且有很多代码都是错误的,例如有的文章中在“桶排序”算法中对每个桶进行排序直接使用了Collection.sort()函数,这样虽然能达到效果,但对于算法研究来讲是不可以的。所以我根据这几天看的文章,整理了一个较为 阅读全文
posted @ 2018-03-19 10:14 郭耀华 阅读(211816) 评论(54) 推荐(521) 编辑
摘要: 术语 1. 节点的度:一个节点含有的子树的个数称为该节点的度; 2. 叶节点或终端节点:度为零的节点; 3. 非终端节点或分支节点:度不为零的节点; 4. 父亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点; 5. 兄弟节点:具有相同父节点的节点互称为兄弟节点; 6. 节点的层次 阅读全文
posted @ 2018-03-18 13:59 郭耀华 阅读(8683) 评论(1) 推荐(4) 编辑
摘要: 一、选用卷积的原因 局部感知 局部感知 简单来说,卷积核的大小一般小于输入图像的大小(如果等于则是全连接),因此卷积提取出的特征会更多地关注局部 —— 这很符合日常我们接触到的图像处理。而每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就得到了全局的信 阅读全文
posted @ 2018-03-17 14:56 郭耀华 阅读(11090) 评论(0) 推荐(1) 编辑
摘要: 最近在学习算法和数据结构,用到Java里的Stack类,但程序运行结果一直和我预料的不一样,网上也没查清楚,最后查了API,才搞明白。 1. java.util.Stack继承类 java.util.Vector 2. empty()方法是Stack自己实现的方法 3. isEmpty() 是从Ve 阅读全文
posted @ 2018-03-17 11:29 郭耀华 阅读(2236) 评论(0) 推荐(0) 编辑
摘要: 46.扑克牌顺子 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是 阅读全文
posted @ 2018-03-15 23:10 郭耀华 阅读(485) 评论(0) 推荐(0) 编辑
摘要: Arrays 类 java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能: 给数组赋值:通过fill方法。 对数组排序:通过sort方法,按升序。 比较数组:通过equals方法比较数组中元素值是否相等。 查找数组元素:通过binarySearch方法能对排序好 阅读全文
posted @ 2018-03-12 16:04 郭耀华 阅读(655) 评论(0) 推荐(0) 编辑
摘要: 指数加权平均 在深度学习优化算法中,例如Momentum、RMSprop、Adam,都提到了一个概念,指数加权平均,看了Andrew Ng的深度学习课程后,总结一下什么是指数加权平均。 式中v_t可近似代表1/(1-β)个θ的平均值。 偏差修正 由以上证明可以看出,每个最新数据值,依赖于以前的数据结 阅读全文
posted @ 2018-03-11 17:19 郭耀华 阅读(13110) 评论(1) 推荐(16) 编辑
摘要: 在机器学习、深度学习中使用的优化算法除了常见的梯度下降,还有 Adadelta,Adagrad,RMSProp 等几种优化器,都是什么呢,又该怎么选择呢? 在 Sebastian Ruder 的这篇论文中给出了常用优化器的比较,今天来学习一下:https://arxiv.org/pdf/1609.0 阅读全文
posted @ 2018-03-10 23:00 郭耀华 阅读(250534) 评论(10) 推荐(166) 编辑
摘要: 一、CNN卷积神经网络的经典网络综述 下面图片参照博客:http://blog.csdn.net/cyh_24/article/details/51440344 二、LeNet-5网络 输入尺寸:32*32 卷积层:2个 降采样层(池化层):2个 全连接层:2个 输出层:1个。10个类别(数字0-9 阅读全文
posted @ 2018-03-09 15:15 郭耀华 阅读(37834) 评论(2) 推荐(39) 编辑
摘要: 本博客用于记录自己平时收集的一些不错的深度学习论文,近9成的文章都是引用量3位数以上的论文,剩下少部分来自个人喜好,本博客将伴随着我的研究生涯长期更新,如有错误或者推荐文章烦请私信。 深度学习书籍和入门资源 LeCun Y, Bengio Y, Hinton G. Deep learning[J]. 阅读全文
posted @ 2018-03-09 14:55 郭耀华 阅读(7314) 评论(1) 推荐(12) 编辑
摘要: 37.数字在排序数组中出现的次数 统计一个数字在排序数组中出现的次数。 采用二分查找法 39.平衡二叉树 输入一棵二叉树,判断该二叉树是否是平衡二叉树。如果某二叉树中任意节点的左、右子树的深度相差不超过1,那么他就是一棵平衡二叉树。 解法一:不够简便 解法二:推荐!后序遍历二叉树,只需遍历一遍即可。 阅读全文
posted @ 2018-03-08 19:52 郭耀华 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。 创建字符串 创建字符串最简单的方式如下: String greeting = "菜鸟教程"; String greeting = "菜鸟教程"; String greeting 阅读全文
posted @ 2018-03-08 16:43 郭耀华 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类。 和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。 StringBuilder类在Java 5中被提出,它和StringBuff 阅读全文
posted @ 2018-03-08 16:27 郭耀华 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 35.数组中的逆序对 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的 阅读全文
posted @ 2018-03-06 22:55 郭耀华 阅读(182) 评论(0) 推荐(0) 编辑
摘要: wget是Linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径 例如: # wget http://www.linuxsense.org/xxxx/xxx.tar.gz 简单说一下-c参数, 这个也非常常见, 可以断点续传, 如果不小心终止了, 可以继续使 阅读全文
posted @ 2018-03-06 09:42 郭耀华 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 正常关闭应用程序: 当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用: 第一种方法:首先获取当前进程的id,然后杀死该进程。 android.os.Process.killProcess(android.os.Process.myPid()) android.os.Pr 阅读全文
posted @ 2018-03-05 22:12 郭耀华 阅读(2326) 评论(0) 推荐(0) 编辑
摘要: LitePal for Android LitePal是一个开源的Android库,使开发人员使用SQLite数据库非常简单。您无需编写任何SQL语句就可以完成大部分数据库操作,包括创建或升级表,增、删、改、查操作,合计函数等。LitePal的设置也很简单,您只许5分钟就可以将其集成到您的项目中。 阅读全文
posted @ 2018-03-05 22:05 郭耀华 阅读(4787) 评论(1) 推荐(2) 编辑
摘要: 项目地址 https://github.com/guoyaohua/QQBackUp 开发环境 Netbean JAVA 功能描述 1. 自动搜索硬盘中的QQ聊天记录文件 2. 可选择的备份QQ数据记录 3. 还原QQ数据记录 系统截图 1.程序安装 2.主界面 3.数据记录备份 4.使用帮助 5. 阅读全文
posted @ 2018-03-03 20:17 郭耀华 阅读(825) 评论(0) 推荐(1) 编辑
摘要: 项目地址 https://github.com/guoyaohua/SmileyFace 开发环境 Visual Studio 2010 MFC + OpenCV 功能描述 1. 静态图像人脸检测 2. 视频人脸追踪检测 3. 摄像头人脸检测 4. 人脸切割显示 5. 实时面部识别 6. 样本自动采 阅读全文
posted @ 2018-03-03 19:44 郭耀华 阅读(4320) 评论(3) 推荐(8) 编辑
摘要: 易客——无限点餐系统 项目地址 https://github.com/guoyaohua/yike 宣传视频 http://v.youku.com/v_show/id_XNzk0Mjk0NDMy.html 开发环境 Eclipse + ADT 背景介绍 餐饮领域一直是备受人们关注的一个领域,在这一领 阅读全文
posted @ 2018-03-03 16:26 郭耀华 阅读(1316) 评论(2) 推荐(1) 编辑
摘要: 项目地址 https://github.com/guoyaohua/GodsEYE 开发环境 Android studio 2.3.1 极光推送IM SDK 百度鹰眼SDK 背景介绍 定位监控系统,不仅仅是用于监视、监控情景,而更重要的是应用在安全领域,例如儿童、老人外出,如果能将其自身的位置实时共 阅读全文
posted @ 2018-03-03 15:21 郭耀华 阅读(1676) 评论(0) 推荐(0) 编辑
摘要: 一、安装Anaconda 1.下载 下载地址为:https://www.anaconda.com/download/#linux 2.安装anaconda,执行命令: 3.在安装过程中会显示配置路径 Prefix=/home/jsy/anaconda2/ 4.安装完之后,运行python,仍是ubu 阅读全文
posted @ 2018-03-02 11:14 郭耀华 阅读(8466) 评论(0) 推荐(0) 编辑
摘要: 今天用VMware虚拟机安装了Ubuntu 16.04,过程用点繁琐,顺便又安装了VMware tools,这样就可以全屏显示Ubuntu系统了,下面是具体的安装过程! 第一步:准备工作 1.下载Ubuntu,网址是http://cn.ubuntu.com/download/ 我选择下面这个版本的6 阅读全文
posted @ 2018-03-02 10:57 郭耀华 阅读(1111) 评论(0) 推荐(0) 编辑
摘要: 32.把数组排成最小的数 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 解题思路: 1. 实际是将数组元素进行排序的操作 2. 排序规则为,若MN组成的数字大于NM,则 阅读全文
posted @ 2018-02-11 23:24 郭耀华 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 30.连续子数组的最大和 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6, 3, 2 阅读全文
posted @ 2018-02-10 23:46 郭耀华 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 29.最小的K个数 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。 解法一: Partition思想 允许改变原始数组的情况,时间复杂度O(n),不适合海量数据 解法二: 使用最大堆思想,通过优先队列的Conparator定制 阅读全文
posted @ 2018-02-10 10:46 郭耀华 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 操作集合的工具类Collections 操作集合的工具类Collections Java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类里提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了将集合对象设置为不可变、对集合对象实现同步控制等方法。 排序操作 阅读全文
posted @ 2018-02-10 10:20 郭耀华 阅读(543) 评论(0) 推荐(0) 编辑
摘要: Map Map Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的key,另一组值用于保存Map里的value,key和value都可以是任何引用类型的数据。Map的key不容许重复,即同一个Map对象的任何两个key通过equals方法比较总是返回false。 阅读全文
posted @ 2018-02-10 09:58 郭耀华 阅读(697) 评论(0) 推荐(0) 编辑
摘要: Queue接口 Queue接口 Queue用于模拟了队列这种数据结构,队列通常是指“先进先出”(FIFO)的容器。队列的头部保存在队列中时间最长的元素,队列的尾部保存在队列中时间最短的元素。新元素插入(offer)到队列的尾部,访问元素(poll)操作会返回队列头部的元素。通常,队列不容许随机访问队 阅读全文
posted @ 2018-02-10 09:16 郭耀华 阅读(1011) 评论(0) 推荐(0) 编辑
摘要: List接口 List接口 List集合代表一个有序集合,集合中每一个元素都有其对应的顺序索引。List集合容许使用重复元素,可以通过索引来访问指定位置的集合对象。 ArrayList和Vector实现类 ArrayList和Vector实现类 ArrayList和Vector做为List的类的两个 阅读全文
posted @ 2018-02-09 23:15 郭耀华 阅读(453) 评论(0) 推荐(0) 编辑
摘要: Set接口 Set接口 前面已经简绍过Set集合,它类似于一个罐子,一旦把对象'丢进'Set集合,集合里多个对象之间没有明显的顺序。Set集合与Collection基本上完全一样,它没有提供任何额外的方法。 Set集合不容许包含相同的元素,如果试图把两个相同元素加入到同一个Set集合中,则添加操作失 阅读全文
posted @ 2018-02-09 23:02 郭耀华 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 1.Java集合概述 在编程中,常常需要集中存放多个数据。当然我们可以使用数组来保存多个对象。但数组长度不可变化,一旦在初始化时指定了数组长度,则这个数组长度是不可变的,如果需要保存个数变化的数据,数组就显得无能为力了;而且数组无法保存具有映射关系的数据,如成绩表:语文-80,数学-90,这种数据看 阅读全文
posted @ 2018-02-09 21:40 郭耀华 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 作者:Intopass链接:https://www.zhihu.com/question/31203609/answer/50992895来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 首先,不要纠结于 Pass By Value 和 Pass By Referenc 阅读全文
posted @ 2018-02-09 21:22 郭耀华 阅读(713) 评论(0) 推荐(0) 编辑
摘要: Java的Comparator和Comparable当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。 1.Comparable简介: Java.lang.Comparable是排序接口。若一个类实现了Compar 阅读全文
posted @ 2018-02-09 16:31 郭耀华 阅读(270) 评论(0) 推荐(2) 编辑
摘要: 线程安全 就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全 就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。 阅读全文
posted @ 2018-02-07 23:09 郭耀华 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 28.数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 解法一:利用HashMap 解法二:利用数组特点,重 阅读全文
posted @ 2018-02-02 22:59 郭耀华 阅读(168) 评论(0) 推荐(0) 编辑
摘要: ``` / 快速排序实现 Created by John Kwok on 2018/2/2. / import java.util.Arrays; public class QuickSort { / 在待排序索引范围内随机选取一个数值,将小于等于该索引处值的数字放置在其左侧,大于的放在其右侧。 @ 阅读全文
posted @ 2018-02-02 22:56 郭耀华 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 25.复杂链表的复制 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 26.二叉搜索树与双向链表 输入一棵二叉搜索树,将该二叉搜索树 阅读全文
posted @ 2018-02-01 22:50 郭耀华 阅读(144) 评论(0) 推荐(0) 编辑
摘要: length()方法,length属性和size()的方法的区别: 1. length()方法是针对字符串来说的,要求一个字符串的长度就要用到它的length()方法; 2. length属性是针对Java中的数组来说的,要求数组的长度可以用其length属性; 3. java中的size()方法是 阅读全文
posted @ 2018-01-31 22:18 郭耀华 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序法 1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 1. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 1. 针对所有的元素重复以上的步骤,除了最后一个。 1. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需 阅读全文
posted @ 2018-01-30 23:37 郭耀华 阅读(232) 评论(0) 推荐(0) 编辑