自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Qin_Mio_Chaos的博客

算法+机器学习+leecode

  • 博客(17)
  • 收藏
  • 关注

原创 N—Queen 生成排列+O(n)判断

生成排列可以保证非同行同列如:vec=0,1,2,3,4时间复杂度O(n!)接着判断所给排列不在同对角线(以5-Queen为例):step1 顺序读元素,分别加上0,1,2,3,4判断得到的数字是否重复step2 顺序读元素,分别加上4,3,2,1,0判断得到的数字是否重复

2015-09-01 18:45:23 421

原创 50种遍历树的方法

推荐一首歌50ways to leave your lover50当然是虚指,包括遍历的方法和实现的方法常见遍历顺序:前序、中序、后序常见实现方法:递归、栈、队列遍历树的核心在于“遍历”,输出所有节点,并对一个节点只输出一次换个角度,对每个节点,确定该节点相对于相连接点的优先级,优先级定了,按优先级访问,就能达到目的递归:左节点优先、右节点优先、父节

2015-09-01 17:37:23 593

原创 adaboost: 0%正确率=100%正确率

adaboost是二分类算法二分类器有个很好的性质:若sign(f)em>1/2,将分类器改为 -sign(f)即可对于adaboost,其系数能自适应em>1/2的情况子分类器Gm(x)系数 am=1/2 log((1-em)/em )为负 am对应的加权子分类器:amGm(x)取负,则该子分类器等价于em另一方面,数据集的权值更新:Wm+1,

2015-09-01 16:00:23 1294

原创 cart剪枝,罚项系数a讨论

损失函数:Ca(T)=C(T)+a|T|C(T):训练误差a|T|:罚项,树的大小《统计学习方法》一书提到,计算各节点的a阈值,当a超过某节点阈值,则选择对该节点剪枝。a= C(t)-C(Tt)/|Tt|-1可见a由届时的树计算决定首先:每次只能计算叶节点的父节点 所对应的a值???如上图,直接计算C节点的

2015-08-12 17:21:27 412

原创 二分类——多分类:一点思考

将多分类归结为二分类,有两种简单方法:1、类A——非类A 单类别与补集分类2、类A——类B 单类别与单类别分类举个简单线性分类例子:对于左图,可使用方法1,因为类别与补集直接线性可分对于右图,每个类别都不可与其补集线性分割,但两类之间线性可分可见“两类间线性可分”这一命题弱于“类别与补集线性可分”特别地,对于未

2015-08-12 12:52:12 1539

原创 二叉搜索树修改

如果有一个方法,每迭代一步都能从数据中选出一部分“高纯度”的特定类,那么即使每步只能分别出1%的类别,只需100步即可完成漂亮的分类规则。ID3算法、C4.5等算法使用熵作为评价标准,导致一个问题:树细分到一个样本一个节点,熵为0。为应付这个情况,通常选择固定子树数量上限等方法。相对应的,cart树直接定义为二叉树,保证了每次划分的结果是,从总体而言把不同类尽可能分

2015-08-12 10:18:16 388

原创 kd树修改:BBF简析

bbf是一个近似算法,凭借决定算法执行步数,限定了搜索次数。bbf是我在v july v博客里看到的,里面提到“算法执行至队列为空”,应该是不当的说法,若真实行至此,则完成了所有点的扫描。下面简单图示:对于任意一棵树,可以通过对节点的谓词取反,得到交换左右子树的效果,最终得到上图。红色节点为搜索路径(作为初始解),将蓝色节点加入优先队列(优先级为与点A的距离),然后

2015-08-10 15:02:52 628

原创 kd树简析

一言蔽之,kd树的想法为:对于目标点A,若点B较之其他点,每个纬度都更接近A,则猜测B接近该点。kd树构造算法:方法:共n个纬度,轮次选择纬度作为划分依据(纬度1、纬度2……),重复直至训练样本用完。结果:将每个空间一分为二,重复划分。最终每个子空间附着一个点。kd树寻找1-临近:方法:将点A所划分到的空间k对应点Xk作为初始解,连接两点,以A为球心做球,寻

2015-08-10 14:52:28 585

原创 排序算法_链表实现

数组的高效体现于随机访问,插排、快排等排序算法未用到这一特点,故这两种排序算法可基于链表实现插入排序:迭代器 p 顺序访问链表迭代器 i 顺序访问前 p 个元素主要的操作为 当p>i && p.value删除原位置的 p 将p插入 i-1 与 i 之间若为单向链表,保存 i-1 与 p-1算法复杂度为比较的次数O(n^2),减少了移动数组导致的开

2015-08-08 15:35:16 354

原创 快排最劣情况

将数组排序,一次从头部或尾部获取元素,加入空队列p则对于构造出的队列,使用快排效率退化为O(n^2)即保证了尾端的元素无法对数组划分(0-n划分)

2015-08-08 15:17:25 815

原创 快排partition过程——索引小修改

原伪代码:1 partition(A,p,r)2 x=A[r]3 i=p-14 for j=p:r-15 if A[j]6 i++7 exchange A[i].A[j]8 exchange A[i+1],A[r]9 return i+1索引i指向包括《剑指offer》中也是这样实现索引,其实很不方便,一开始指向了数组前(外部)的元素,第8、

2015-08-08 15:08:52 449

原创 O(n)冒泡排序

数据访问策略:顺序访问且两步迭代间独立(独立是指顺序执行不由状态变量控制)每个计算机负责冒一个泡,第一个泡访问元素[0]结束后,第二个泡即可开始访问元素[0]不严格说:第一个泡访问末尾元素时,第二个泡访问倒数第二个元素,所以第一个泡冒泡结束时,产生了所有的泡泡,算法结束时间复杂度O(n)

2015-07-28 08:10:27 690

原创 pagerank收敛原因

迭代公式 X=(1-a) x E+axRxX其中a:衰减系数E:nx1单位向量R:nxn状态转移概率矩阵X:nx1状态矩阵,(i,1)表示网站i得票数,总票数为1展开迭代式,得到X=(1-a)E+(1-a)axRxE+(1-a)a^2 xR^2xE+...(1-a)a^(n-1)xR^(n-1)xE整理易得X= 随着n增长,常数项(1-a)x a^i

2015-07-28 07:59:44 1768

原创 插排O[n]无缝实现:顺序读写迭代器访问+两步迭代间独立性

插排O【n】无缝实现:顺序读写迭代器访问+两步迭代间独立性

2015-07-26 12:13:51 454

原创 插排最优情况

心得:利用数组本身先验特点,决定比较顺序。考虑重复元素情况,减少常数因子。结论:插排有序数组(包括部分或全部重复)比较顺序自右向左,比较操作O(n),插入操作O(0);比较顺序自左向右,比较操作O(n^2), 插入操作O(0)测试用例1:012,345,678测试用例2:000,000,000插排(数组实现)主要策略:顺次遍历数组元素(i=0:size),维

2015-07-26 11:16:29 622

原创 海上钢琴师

MS收购了MC,这好像是去年的新闻,不知道这款被玩坏了的游戏会被微软怎么折腾。我是大学时接触的MC,一开始对方块画面无爱,但最后我被游戏自身极度的自由所征服,没事喜欢玩玩水玩玩岩浆。MC中有些资源是不可再生的,如矿石资源,这让玩家不得不选择合理运用资源。另外一个决定我游戏体验的就是MC没有地图(科技低),作为路痴的我生存空间一般不超过一个操场。开始聊海上钢琴师。几乎所有

2015-07-26 09:50:46 864

原创 为什么写博客

我不愿意人云亦云,也不愿意拾人牙慧,也许我不是第一个持有相关观点的人,但我所记录的,都是我思考时所经历的。本人西电本科生,意向算法工程师,欢迎提供offer

2015-07-26 09:11:05 313

空空如也

空空如也

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

TA关注的人

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