自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 方向导数和梯度

一、问题的提出实例:一块长方形的金属板,四个顶点的坐标是(1,1),(5,1),(1,3),(5,3).在坐标原点处有一个火焰,它使金属板受热.假定板上任意一点处的温度与该点到原点的距离成反比.在(3,2)处有一个蚂蚁,问这只蚂蚁应沿什么方向爬行才能最快到达较凉快的地点?问题的实质:应沿由热变冷变化最骤烈的方向(即梯度方向)爬行.

2015-06-29 19:39:12 687

原创 为什么A *a=new B不直接写成B b,或者B *p呢?

举个例子来说明一下,A 代指鸟类,B是A的子类,B用鸡来表示,C也是A的子类,C用鸭来表示,所以A *a=new B是正确的。A *a=new C也是正确的对吧!假设你拿着钱去上街买肉,钱多买鸡,钱少买鸭,反正最后得买东西,买用buy()方法来表示,那么buy()方法要么返回鸡,要么返回鸭,所以A *a=buy()是正确的,但是如果写成B *b=buy()的话就有可能出错,因为还有可能买鸭回来。所

2015-06-29 19:27:36 1442

原创 K最邻近算法和局部敏感哈希LSH

1. K最近邻(k-Nearest Neighbor)分类算法采用测量不同特征值之间的距离方法进行分类。K近邻分类算法的主要思想:如果一个样本在特征空间中的k个最相似)的样本中的大多数属于某一个类别,则该样本也属于这个类别(这里对于最相似的判定主要是通过特征值向量的距离)1.1. 算法特点及伪代码KNN算法中,所选择的邻居都是已经正确分类的对象(训练集)KNN方

2015-06-29 16:31:26 2036

原创 SIFT特征提取分析

SIFT算法的实质是在不同的尺度空间上查找关键点(特征点)。SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。每个关键点有三个信息:位置,所处尺度、方向,由此可以确定一个SIFT特征区域。SIFT(Scale-invariant feature transform)是一种检测局部特征的算法,该算法通过求一幅图中

2015-06-29 12:51:59 688

转载 C ++ 虚函数 (转)

第一节、一道简单的虚函数的面试题题目要求:写出下面程序的运行结果?     1、当上述程序中的函数p()不是虚函数,那么程序的运行结果是如何?即如下代码所示:class A{public:void p(){  cout }};class B : public A{public:void p(){  cout

2015-06-29 12:09:29 521

转载 Step by Step:Linux C多线程编程入门(基本API及多线程的同步与互斥)

介绍:什么是线程,线程的优点是什么线程在Unix系统下,通常被称为轻量级的进程,线程虽然不是进程,但却可以看作是Unix进程的表亲,同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local s

2015-06-27 17:31:25 454

原创 VS添加执行不调试按钮

2015-06-27 15:43:47 702

转载 linux命令eval的用法

1. eval command-line其中command-line是在终端上键入的一条普通命令行。然而当在它前面放上eval时,其结果是shell在执行命令行之前扫描它两次。如:pipe="|"eval ls $pipe wc -lshell第1次扫描命令行时,它替换出pipe的值|,接着eval使它再次扫描命令行,这时shell把|作为管道符号了。如果变量中包含任何需要sh

2015-06-27 12:16:10 291

转载 Linux makefile 教程 非常详细,且易懂

最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。            于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。           后记,看完发现这篇文章和《Linux环境下的C编程指南》的makefile一章所讲述的惊人的相似,只是这篇文章从一个实例切入,在有些地方比

2015-06-26 10:38:49 455

转载 线程的五大状态

线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。    1.新建状态(New):         当用new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在新建状态。 当一个线程处于新生状态时,程序还没有开始运行线程中的代码     2.就绪状态(Runnable)    

2015-06-20 11:23:39 347

转载 第一部分、十道海量数据处理面试题

第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。      首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率

2015-06-16 18:45:45 350

原创 2.2.5 Remove Duplicates from Sorted List II

Notes: Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list. For example, Given 1->2->3->3->4->4

2015-06-12 17:25:26 442

原创 5.4.4 Path Sum II

Notes: Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum.  For example: Given the below binary tree and sum

2015-06-11 16:57:13 445

原创 5.4.3 Path Sum

Notes: Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

2015-06-11 16:40:13 359

原创 5.4.1 Minimum Depth of Binary Tree

Notes: Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.

2015-06-11 16:17:38 425

转载 caffe 损失函数

损失函数,一般由两项组成,一项是loss term,另外一项是regularization term。J=L+R先说损失项loss,再说regularization项。1. 分对得分1,分错得分0.gold standard2. hinge loss(for softmargin svm),J=1/2||w||^2 + sum(max(0,1-yf(w,x)))

2015-06-11 15:38:16 4413

转载 机器学习 --- 1. 线性回归与分类, 解决与区别

机器学习可以解决很多问题,其中最为重要的两个是 回归与分类。 这两个问题怎么解决, 它们之间又有什么区别呢? 以下举几个简单的例子,以给大家一个概念1. 线性回归回归分析常用于分析两个变量X和Y 之间的关系。 比如 X=房子大小 和 Y=房价 之间的关系, X=(公园人流量,公园门票票价) 与 Y=(公园收入) 之间的关系等等。那么你的数据点在图上可以这么看

2015-06-11 11:16:42 615

转载 C++命名空间

一、 为什么需要命名空间(问题提出)    命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突。   在 C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。在不同的作用域中可以定义相同名字的变量,互不于扰,系统能够区别它们。     1、全局变量的作用域是整个程序,在同一

2015-06-10 09:51:32 425

转载 c++ 智能指针用法详解

本文介绍c++里面的四个智能指针: auto_ptr, shared_ptr, weak_ptr, unique_ptr 其中后三个是c++11支持,并且第一个已经被c++11弃用。为什么要使用智能指针:我们知道c++的内存管理是让很多人头疼的事,当我们写一个new语句时,一般就会立即把delete语句直接也写了,但是我们不能避免程序还未执行到delete时就跳转了或者在函数中没有执行到最

2015-06-10 09:23:27 574

原创 【C++】DISALLOW_COPY_AND_ASSIGN

有时候,进行类体设计时,会发现某个类的对象是独一无二的,没有完全相同的对象,也就是对该类对象做副本没有任何意义.因此,需要限制编译器自动生动的拷贝构造函数和赋值构造函数.一般参用下面的宏定义的方式进行限制,代码如下:// A macro to disallow the copy constructor and operator= functions // This shoul

2015-06-10 09:16:21 1232

原创 6.1 Merge Sorted Array

Notes: Given two sorted integer arrays A and B, merge B into A as one sorted array. Note: You may assume that A has enough space to hold additional elements from B.

2015-06-09 18:25:02 389

原创 5.3.5 Convert Sorted List to Binary Sear Tree

Notes: Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.  Solution: 1. Recursion. Pre-order. A very good Idea.

2015-06-09 18:03:31 551

原创 5.3.4 Convert Sorted Array to Binary Searh Tree

Notes: Given an array where elements are sorted in ascending order, convert it to a height balanced BST. Solution: Recursion. *//** * Definition for binary tree * struct TreeNode { * int v

2015-06-09 15:49:29 380

原创 5.3.3 Validate Binary Searh Tree

Notes: Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as follows: The left subtree of a node contains only nodes with k

2015-06-09 15:14:34 361

原创 5.3.1 Unique Binary Sear Trees

Notes: Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For example, Given n = 3, there are a total of 5 unique BST's. 

2015-06-09 14:13:14 298

原创 5.4.7 Sum Root to Leaf Numbers

Notes: Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number. An example is the root-to-leaf path 1->2->3 which represents the number

2015-06-09 13:42:07 404

转载 C++的开源跨平台日志库glog学习研究(二)--宏的使用

1. 日志输出宏这里我们以一条最简单的日至输出为例说明:LOG(WARNING) "This is a warning message";这里LOG是一个宏,其定义如下(logging.h line 487):#define LOG(severity) COMPACT_GOOGLE_LOG_ ## severity.stream()这里根据LOG宏中的sever

2015-06-09 10:55:53 941

转载 c++ assert() 使用方法

assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:#i

2015-06-09 10:51:06 393

转载 Glog使用介绍与源码分析

1、简介:最新版本: 0.3.3  2013-1-31下载地址:http://code.google.com/p/google-glog/downloads/list使用方便,性能也不错。Google glog 库实现了应用级的日志记录,提供了C++ 风格的流操作和各种助手宏。代码示例:#include int main(int argc,

2015-06-09 10:22:08 2827 1

转载 C++ this指针的用法

this指针的含义及其用法: 1. this指针是一个隐含于每一个成员函数中的特殊指针。它指向正在被该成员函数操作的那个对象。2. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员时,由隐含使用this指针。3. 当一个成员函数被调用时,自动向它传递一个隐含的参数,该参数是一个指向这个成员函数所在的对象的指针。 4. 在

2015-06-09 09:54:59 390

转载 C++中的static关键字

C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:[cpp] view

2015-06-09 09:35:15 312

原创 int main(int argc,char* argv[])详解

argc是命令行总的参数个数     argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数     命令行后面跟的用户输入的参数,比如:     int   main(int   argc,   char*   argv[])     {     int   i;     for   (i   =   0;   i  i++)     cout   

2015-06-08 11:53:24 306

原创 5.2.1 Construct Binary Tree from Preorder and Inorder Traversal

/* Author: Annie Kim, anniekim.pku@gmail.com Date: May 16, 2013 Problem: Construct Binary Tree from Preorder and Inorder Traversal Difficulty: Easy So

2015-06-05 17:14:11 458

原创 5.1.10 Populating Next Right Pointers in Each Node II

Notes: Follow up for problem "Populating Next Right Pointers in Each Node". What if the given tree could be any binary tree? Would your previous solution still work? Note

2015-06-05 16:49:49 84

原创 5.1.9 Flatten Binary Tree to Linked List

Notes: Given a binary tree, flatten it to a linked list in-place. For example, Given 1 / \ 2 5 / \ \ 3 4 6 The

2015-06-05 14:31:33 337

转载 C++ const用法 尽可能使用const

http://www.cnblogs.com/xudong-bupt/p/3509567.html  C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。1.const 修饰成员变量  1 #include 2 using n

2015-06-05 13:55:21 611

翻译 ostringstream 用法

// ostringstream::rdbuf#include // std::string#include // std::cout#include // std::ostringstreamint main () { std::ostringstream oss; oss << "One hundred and one: " << 101;

2015-06-05 11:08:10 525

原创 explicit的作用

explicit作用:在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。explicit使用注意事项:    *      explicit 关键字只能用于类内部的构造函数声明上。    *      explicit 关键字作用于单个参数的构造函数。

2015-06-05 10:54:05 281

原创 5.1.8 Balanced Binary Tree

平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 Notes: Given a binary tree, determine if it is height-balanced. 

2015-06-04 17:30:16 301

原创 5.1.7 Symmetric Tree

ifficulty: Easy Source: http://leetcode.com/onlinejudge#question_101 Notes: Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).

2015-06-04 17:22:11 353

空空如也

空空如也

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

TA关注的人

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