2017年7月24日

Merge Two Binary Trees[LeetCode]

摘要: Given two binary trees and imagine that when you put one of them to cover the other, some nodes of the two trees are overlapped while the others are n 阅读全文

posted @ 2017-07-24 20:03 我是咖啡豆哈 阅读(128) 评论(0) 推荐(0)

2016年11月9日

插入排序

摘要: 输入:待排序的n个数; 输出:输入序列的一个有序排列(从小到大) 插入排序是一种原地排序算法。假设A[j]是待排元素,每次A[j]之前的子数组A[0..j-1]都是已排好序的。这样A[j]只需从后往前和子数组元素比较把比A[j]大的元素向后移动一位,将A[j]插入到合适位置后。j从0取到A.leng 阅读全文

posted @ 2016-11-09 22:06 我是咖啡豆哈 阅读(259) 评论(0) 推荐(0)

2014年12月17日

设计包含min函数的栈

摘要: 定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、pop、push的时间复杂度为O(1);方法:采用一个辅助栈,该栈用来存放最小元素。当进行push操作时,将栈中的最小元素同时push进辅助栈中,当pop操作时同时pop掉辅助栈中的栈顶元素。这样元素栈对应位置的辅助栈中... 阅读全文

posted @ 2014-12-17 10:49 我是咖啡豆哈 阅读(306) 评论(0) 推荐(0)

2014年12月16日

二叉搜索树变成有序双向链表,要求不能创建新的结点,只调整指针的指向

摘要: 二叉搜索树的结点有2个指针,分别指向左右孩子,双链表的每个结点也有2个指针,分别指向前后结点,所以在不创建新结点,只调整指针指向时可以将二叉搜索树变成双向链表;又由于二叉搜索树在中序遍历时是有序的,所以可以采用中序处理二叉搜索树调整指针指向将其变成有序双向链表。为了简化指针移动操作,我们让左孩子为前... 阅读全文

posted @ 2014-12-16 10:57 我是咖啡豆哈 阅读(250) 评论(0) 推荐(0)

2014年11月27日

信息论基础

摘要: 1、熵和信息量有一组离散符号集{v1,v2,...,vm},每个符号具有相应概率Pi,为衡量这组符号组成的特定序列的随机性(不确定性或不可预测性),定义离散分布的熵:,对数以2为底,熵的单位的“比特”,当连续情况时,底数为e,单位为“奈特”。对于回答是否问题时,每个可能答案出现概率为0.5,那么此时... 阅读全文

posted @ 2014-11-27 16:40 我是咖啡豆哈 阅读(894) 评论(0) 推荐(0)

2014年3月7日

预测数值型数据:回归

摘要: 用线性回归找到最佳拟合直线求解回归系数的过程就是回归,,回归系数乘以输入值再讲结果加起来就得到预测值。假定回归系数存放在矩阵X中,而回归系数存放在向量w中,则预测值Y1=x1Tw给出,平方误差为(yi-xiTw)从1到m之和,用矩阵表示为(y-xw)T(y-xw),对w求导得XT(Y-Xw),欲求最值只须导数为零,所以w=(XTX)-1XTy,需要保证逆矩阵存在。def loadDataSet(fileName):#准备数据 numFeat=len(open(fileName).readline().split('\t'))-1 dataMat=[];labelMat=[].. 阅读全文

posted @ 2014-03-07 16:01 我是咖啡豆哈 阅读(767) 评论(0) 推荐(0)

2014年3月5日

利用AdaBoost元算法提高分类器性能

摘要: bagging与boostingbagging(bootstrap aggregating)自举汇聚法,从原始数据集中选择S次后得到S个新数据集的一种技术。,新数据集和原始数据集大小相等。每个数据集都是在原始数据集中随机选择一个样本来进行替换而得到(允许有重复值),将某个学习算法分别作用于每个数据集就得到S个分类器,对新数据进行分类时,选择分类器投票结果中最多的类别作为最后的分类结果!boosting,与bagging类似,只不过boosting不同的分类器是通过串行训练而获得的,每个新分类器都根据已训练出的分类器性能来进行训练,通过集中关注被已有分类器错分的那些数据来获得新的分类器。不同:b 阅读全文

posted @ 2014-03-05 20:22 我是咖啡豆哈 阅读(505) 评论(0) 推荐(0)

wxPython导入问题

摘要: 下载了wxPython并成功安装之后,输入import wx,提示没有这个模块,让我老生郁闷,重装了好几次也不行,打开安装目录发现wxpython确实存在,问度娘也找不到答案,有人只是说安装不对,但是它也没提示错呀,安装肯定没有问题。后来谷歌上有人说了,要找到wxpython的路径,我的Python是装在C盘所以是C:\Python27\Lib\site-packages\wx-2.8-msw-unicode,然后导入到路径里去,具体就是这样的:>>>import sys>>> sys.path.append('C:\Python27\Lib\sit 阅读全文

posted @ 2014-03-05 15:01 我是咖啡豆哈 阅读(1932) 评论(0) 推荐(0)

2014年3月4日

Python之模块

摘要: Random模块random()返回0≤n>>re.sub(emphasis_pattern,r'\1','hello.*world*')'hello.world!'‘ 阅读全文

posted @ 2014-03-04 19:32 我是咖啡豆哈 阅读(182) 评论(0) 推荐(0)

2014年3月3日

支持向量机SVM

摘要: SVM算是整本书最不好理解的一块了,也是代码最多的一块。6.1前奏优点:泛化错误率低,计算开销不大,结果易解释。缺点:对参数调节和核函数的选择敏感(不懂什么是核函数?没关系,继续往下看呗),原始分类器不加修改仅适用于处理二类问题。鉴于SVM不怎么好理解下面先给出一些概念。①分隔超平面:N维的数据需要N-1维的某某对象来对数据集进行分隔,该对象就被称为超平面,分布在超平面一侧的所有数据都属于某个类别,而分布在另一侧的所有数据都属于另一个类别。如二维数据,分隔超平面是一条直线,三维数据,分隔超平面是一个平面等等。②基于最大间隔来构建分类器:找到离分隔超平面最近的点,确保它们离分隔面的距离尽可能远( 阅读全文

posted @ 2014-03-03 17:15 我是咖啡豆哈 阅读(474) 评论(0) 推荐(0)

导航