- 博客(33)
- 收藏
- 关注
转载 c++成员函数的存储
用类去定义对象时,系统会为每一个对象分配存储空间。如果一个类包括了数据和函数,要分别为数据和函数的代码分配存储空间。按理说,如果用同一个类定义了10个对象,那么就需要分别为10个对象的数据和函数代码分配存储单元,如图8.4所示。图8.4 能否只用一段空间来存放这个共同的函数代码段,在调用各对象的函数时,都去调用这个公用的函数代码。如图8.5所示。图8.5
2014-08-17 16:00:32
859
原创 求二叉树的镜像
#include using namespace std;struct BiTreeNode{ int val; BiTreeNode* leftChild; BiTreeNode* rightChild;};void MirrorBiTree(BiTreeNode* root){ if (root == NULL || (root->leftChild == NUL
2014-07-20 14:16:50
495
原创 判断单链表是否存在环,存在的话找入口点
判断是否有环设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先行头到尾部为NULL,则为无环链表)
2014-07-13 21:02:50
669
原创 一个长度为A的无序数组,找到中位数
思路1:1.1 将前(n+1)/2个元素调整为一个最小堆;1.2 对后续每一个元素和堆顶比较,如果小于等于堆顶,丢弃之,去下一个元素。如果大于堆顶,用该元素取代堆顶,调整堆,去下一个元素重复1.2步1.3 当遍历完所有元素之后,堆顶为中位数思路2:利用快速排序的partition函数,任意挑一个元素,以该元素key,划分数组为两部分,如果左侧集合长度正好为(n+1)/2,那么k
2014-07-13 20:15:01
1924
1
原创 删除单链表倒数第K个节点
有P1, P2两个指针,P1从头开始跑,先跑K个节点,然后P2开始跑,当P1跑到头时,P2指向的就是倒数第K个节点了。这道题的思路比较简单,要想做得更好,可以加入一些鲁棒性的考虑,比如说空链表情况,链表长度小于k等。下面是代码:
2014-07-12 23:20:26
665
原创 调整数组顺序使奇数位于偶数前面
题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。分析:如果不考虑时间复杂度,最简单的思路应该是从头扫描这个数组,每碰到一个偶数时,拿出这个数字,并把位于这个数字后面的所有数字往前挪动一位。挪完之后在数组的末尾有一个空位,这时把该偶数放入这个空位。由于碰到一个偶数,需要移动O(n)个数字,因此总的时间复杂度是
2014-07-12 22:14:14
593
转载 c++ 避免头文件重复引用 (pragma once与 #ifndef的区别)
如何防止头文件被重复引用?有两种方法:1.方法一: 使用: # pragma once 2>方法二:使用: # ifndef #define #endif 例:#ifndef XXXXXXX (一个名字,尽量做到唯一) #define XXXXXXX (跟上边的名字一样) 文件最后写: #en
2014-07-12 18:43:32
4347
原创 k近邻法课后习题解答
3.2 求得的最近邻点是(2,3)3.3 k近邻算法如下:(思路:求得一个最近邻后,从kd树中删除这个结点)#include #include #include #include using namespace std;/*function of this program: build a 2d tree using the input training data th
2013-07-09 18:23:54
2756
1
原创 最近邻算法的实现:k-d tree
一、如何高效率地实现k近邻法? 在SIFT图像特征匹配等应用中,需要在高维特征空间中快速找到距离目标图像特征最近邻的那个特征点,往往需要进行比较的特征向量的数量很大,如果进行朴素最近邻搜索,也就是依次计算目标点和每一个待匹配特征的距离,然后再算出最短距离这样的策略,那么特征匹配算法的时间复杂度将会高得令人难以接受。因此,我们需要借助一种存储和表示k维数据的数据结构,既能够方便地存储k维数
2013-07-09 10:20:48
14472
7
原创 统计学习方法阅读笔记:k近邻法
k近邻法由Cover和Hart在1968年提出,是一种基本的分类与回归方法。k近邻法的输入是实例的特征向量,对应于特征空间中的点,输出为实例的类别,可取多值(此前介绍的感知机模型只是线性二类分类模型)。k-nearest neighbours(kNN)的基本思想是:在训练集中寻找k个与新的输入实例最接近的实例,构成一个k邻域,并将测试实例归于这个集合中占最大优势的类别。k近邻法中的几个关键要素是:
2013-07-06 22:16:11
1639
转载 漫话中文分词和语义识别(下):句法结构和语义结构
这篇文章是漫话中文分词算法的续篇。在这里,我们将紧接着上一篇文章的内容继续探讨下去:如果计算机可以对一句话进行自动分词,它还能进一步整理句子的结构,甚至理解句子的意思吗?这两篇文章的关系十分紧密,因此,我把前一篇文章改名为了《漫话中文自动分词和语义识别(上)》,这篇文章自然就是它的下篇。我已经在很多不同的地方做过与这个话题有关的演讲了,在这里我想把它们写下来,和更多的人一同分享。 什
2013-07-06 09:29:13
2058
转载 Latex之数学公式的输入
LaTeX最强大的功能就是显示美丽的数学公式,下面我们来看这些公式是怎么实现的。数学公式的前后要加上 $ 或 \( 和 \),比如:$f(x) = 3x + 7$ 和 \(f(x) = 3x + 7\) 效果是一样的;如果用 \[ 和 \],或者使用 $$ 和 $$,则改公式独占一行;如果用 \begin{equation} 和 \end{equation},则公式除了
2013-07-05 17:12:35
2808
原创 感知机章节课后习题 + 证明感知机算法收敛性
看了下统计学习方法P36 的3个习题,试着做了下,下面给出自己的解答: 有不对的地方欢迎提出:)Q 2.1 感知机是线性模型,因此不能表示复杂的函数。请解释感知机为什么不能学习异或XOR函数?A 2.1 XOR:这个想必大家都很清楚了,输入的两个逻辑值一真一假XOR结果为真,两个输入逻辑值同真同假XOR得假。下面这个图解释的很清楚: 训练集线性不可分,当然不能用感知
2013-07-04 23:40:14
5217
原创 感知机学习
基本概念:感知机是二类分类的线性分类模型,对应于特征空间中将实例划分为正负两类的分离超平面,属判别模型。感知机学习旨在求出将训练数据进行线性划分的分离超平面。 感知机的定义:从输入空间Rn到输出空间{+1,-1}的函数映射:f(x)= sign(w*x+b)模型参数:w----权值向量 b----偏置wx+b = 0 -----分离超平面方程 数据集{(xi,yi)
2013-07-04 14:38:22
1691
转载 使用SGD(Stochastic Gradient Descent)进行大规模机器学习
1 基于梯度下降的学习 对于一个简单的机器学习算法,每一个样例包含了一个(x,y)对,其中一个输入x和一个数值输出y。我们考虑损失函数,它描述了预测值和实际值y之间的损失。预测值是我们选择从一函数族F中选择一个以w为参数的函数的到的预测结果。 我们的目标是寻找这样的函数,能够在训练集中最小化平均损失函数 由于我们不知道数据的真实分布,所以我们通常使用 来代替
2013-07-04 10:22:50
1313
原创 Ubuntu12.04下moses的安装与测试Ubuntu
12.04 AMD64 运⾏行于VMware fusion 5.0.3Boost 1.48.01.Boost的安装(可参考官⽅方⺴⽹网站http://www.boost.org)由于Moses编译需要boost和其他依赖库⽂文件,所以需要⾸首先安装Boost Library.⾸首先需要安装⼀一些依赖包:apt-get install python-devapt-get
2013-07-04 09:40:34
3187
转载 Python 中文乱码解决方法
比如我从网上下载一些信息或写个电子邮件程序下载到本地,以记事本(txt)形式写入并保存在本地计算机,为什么看到只是英文和乱码的?该怎样做呢?答乱码原因:因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件。但是windows的本地默认编码是cp936,也就是gbk编码,所以在控制台直接打印utf-8的字符串当然是乱码了。解决方法:在控制台打印
2013-07-04 09:38:50
1298
转载 数学之美番外篇:平凡而又神奇的贝叶斯方法
概率论只不过是把常识用数学公式表达了出来。——拉普拉斯记得读本科的时候,最喜欢到城里的计算机书店里面去闲逛,一逛就是好几个小时;有一次,在书店看到一本书,名叫贝叶斯方法。当时数学系的课程还没有学到概率统计。我心想,一个方法能够专门写出一本书来,肯定很牛逼。后来,我发现当初的那个朴素归纳推理成立了——这果然是个牛逼的方法。——题记目录0. 前言 1. 历史
2013-07-04 09:35:11
1012
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人