Decorative image frame

深度学习初探一——奇偶数学习

奇偶数判断,这个是不是太简单了,不就一个数去对2取取余数,如果余数为0,那么这个数为偶数,否则,这个数为奇数,用Python写的话代码就像这样:

def fun(number):
    if number % 2 == 0:
        print "这是偶数"
    else:
        print "这是奇数"

但是,这个判断法则是我们知道的,我们人为的在编程中将判断规则告诉计算机,通过计算来判断一个数是奇数还是偶数。如果我们要只告诉计算机一些数中那些是奇数,那些是偶数,然后让它自己判断新的数据属于偶数还是奇数的话,你要怎么编程呢?这不,最近闲来无视,看了看深度学习的书,突然想试一下,用深度神经网络让计算机去学习奇偶数的特点,然后去判断新的数据是奇数还是偶数。

Read More...

java注解原生模仿@ModelAttribute功能

Screenshot from 2017-12-19 22-46-25.png

对于做Java Web开发的人来说,肯定都遇到过表单提交,并且,每一个表单的提交后面至少跟一个对象,比如说一个登录的表单,后面一定跟着一个登录对象(也有可能直接就是User对象),既然有对象,势必需要数据绑定到对象的属性了,在原生的Servlet开发中,我们用HttpServletRequest对象的getParamter(String s)的方法去获取表单中对应name属性的值;如果是使用Srping框架的,那么一定用过@ModelAttribute这个注解来实现表单的数据绑定。原生的Servlet方法我们就不讲了,这个太easy了,今天我们要来说的是如何原生实现@ModelAttribute注解的数据绑定功能

Read More...

优先队列——堆数据结构

这次,我们来说一说一个新的数据结构——优先队列。

什么是优先队列?以一个简单的例子来说,有一堆作业难度打乱的作业,作业难度从1-10(1是作业难度最小的,10是作业难度最大的)。为了能够在有限的时间内做完最多份作业,我们会怎么做?当然是每一次都做剩余作业中难度最小的那份作业,而这就是优先队列的特性,根据每个元素的优先级来决定出队列的次序。

Read More...

排序算法一之插入排序与希尔排序

Screenshot from 2017-12-16 14-23-40.png

上面这幅图是从维基百科上截取的,我们可以看到,常见的排序算法有:冒泡排序、选择排序、插入排序、堆排序、归并排序、快速排序、希尔排序、计数排序、桶排序以及基数排序;在图中都已经体现了每个排序算法的时间复杂度和空间复杂度以及排序算法的稳定性(排序算法的稳定性是指如果存在两个或以上的相同元素,在排序过程中,如果ri=rj,且i<j,在排序过程中这种关系保持不变的则称该排序算法具有稳定性)。

Read More...

平衡树——AVL树

平衡树的存在是为了解决二叉查找树的最坏情形——单支树的情况;因为二叉查找树的任意节点的期望平均深度为O(logN),但是,这只是期望值,很有可能出现二叉查找树只向其中一支子树不断生长的情况,那么,树的期望深度变成了O(根号(N)),这不是我们期望看到的,因此,我们希望,二叉查找树每时每刻都能保持左右子树深度的差值可以是{0,1}这两个树,这时,平衡树便被提了出来并实现。

Read More...