自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 OpenGL

来源:http://www.cnblogs.com/crazyxiaom/articles/2073586.html    glOrtho2D函数是OpenGL中的二维裁剪函数,以前一直不太懂裁剪是什么意思,这两天在做OpenGL实验的时候发现这个函数的作用。       函数原型为void gluOrtho2D(GLdouble left,GLdouble right,G

2017-03-10 16:18:28 634

转载 opengl 库的说明和简单使用

来源:http://www.cnblogs.com/crazyxiaom/articles/2073586.html1.库的说明所有 OpenGL 函数采用了以下格式:。库前缀有 gl、glu、aux、glut、wgl、glx、agl 等等,分别表示该函数属于OpenGL 那个开发库,从函数名后面中还可以看出需要多少个参数以及参数的类型。I 代表 int 型,f 代表 float 型,

2017-03-10 15:04:55 3072

转载 史上最简单清晰的红黑树讲解

来源:http://blog.csdn.net/yang_yulei/article/details/26066409查找(一)我们使用符号表这个词来描述一张抽象的表格,我们会将信息(值)存储在其中,然后按照指定的键来搜索并获取这些信息。键和值的具体意义取决于不同的应用。符号表中可能会保存很多键和很多信息,因此实现一张高效的符号表也是一项很有挑战性的任务

2017-03-06 13:25:28 4297

转载 C++重载++ 如何区分“++”重载的前置与后置

来源:http://blog.csdn.net/hemingliang1987/article/details/9204815在C++中重载单目运算符时,会出现前置还是后置的问题,如++,–等例如 i++与 ++i这个时候如何让编译器知道是前置还是后置呢?其实很简单,只要在重载操作符的参数中加上一个整数型参数,编译器就会自动将这个函数标示为后置,相应的不加则是前置。

2017-01-17 22:42:53 1084

转载 虚析构函数的作用

来源:http://blog.csdn.net/starlee/article/details/619827    我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明:        有下面的两个类:class ClxBase{public:    ClxBase() {};    virtual ~

2017-01-17 16:29:41 343

转载 浅谈构造函数与析构函数的调用顺序

转载来源:http://blog.csdn.net/bresponse/article/details/6914155构造函数和一般的析构函数    先看看构造函数的调用顺序规则,只要我们在平时编程的时候遵守这种约定,任何关于构造函数的调用问题都能解决;构造函数的调用顺序总是如下:1.基类构造函数。如果有多个基类,则构造函数的调用顺序是某类在类派生表中出现的顺序,而不是

2017-01-17 16:26:26 449

转载 Insertion or Heap Sort PAT甲级真题(堆排序)

来源:http://blog.csdn.net/liuchuo/article/details/52252172According to Wikipedia:Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iter

2016-12-22 15:38:35 489

转载 强连通分量及缩点tarjan算法解析

来源:http://blog.csdn.net/acmmmm/article/details/16361033强连通定义:在有向图G中,对于点集V'∈V, 点集中的任意两点都可达,则称V'为强连通。 孤立的一个点也是一个强连通分量 在嵌套的多个环时 : {所有环上的点}为一个强连通分量( 最小环就是每个孤立点)注意一定是满足条件的最大点集

2016-12-21 19:58:27 14353 8

转载 c++命名空间

来源http://blog.csdn.net/yao_zhuang/article/details/1853625namespace中文意思是命名空间或者叫名字空间,传统的C++只有一个全局的namespace,但是由于现在的程序的规模越来越大,程序的分工越来越细,全局作用域变得越来越拥挤,每个人都可能使用相同的名字来实现不同的库,于是程序员在合并程序的时候就会可能出现名字的冲突。name

2016-12-09 14:29:49 316

转载 动态绑定和Virtual

为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。需要理解四个名词:1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改。关于对象的静态类型和动态类型,看一个示例:[cpp] vi

2016-11-29 08:29:34 255

原创 并查

int root[maxn];int find(int a){ if(root[a] != a){ return root[a]=find(root[a]); } return a; }void union(int a,int b){ int roota=find(a); int rootb=find(b); if(rootb == roota) return; ro

2016-11-06 11:10:45 284

原创 d-heap的子节点与父节点关系

D-heap就是D叉堆,也就是说有d个子节点的堆如何确定第i个节点的子节点和父节点的序号呢?我们不妨假设第一个节点就是1,那么第一个子节点就是1*d-d+2(即2),最后一个子节点就i*d+1(d+1个)显然,我们假设的1对于子节点的推断没有影响,那么对于第i个节点,它的第一个子节点就是i*d-d+1,最后一个子节点就i*d+1如果求父节点呢?根据子节点的关系,我们能发现,如果直接

2016-10-29 13:15:28 3118

原创 关于complete binary tree的节点

如果给定完全二叉树的节点个数,能不能求完全二叉树的叶子节点个数?设总节点个数为n,度为1的节点个数为n1,度为0为n0,度为2为n2那么n=n0+n1+n2 (1)对于完全二叉树n1=0;或者n1=1;又对于每个度为2的节点,它都有2个子节点,所以又有总的节点个数是(从每个节点的子节点来考虑)n=2*n2+1+n1 (2)(其中的1是根节点,这种算法相当于从

2016-10-29 12:57:24 370

转载 建立堆复杂度On,均摊思想

来源:http://blog.csdn.net/u011602557/article/details/51168384算法(3) 版权声明:本文为博主原创文章,未经博主允许不得转载。二叉堆是基于数组的数据结构,由在数组上定义的left() right() parent()操作,以及heapsize属性,可以把它视为二叉树。  如图,根节点有两

2016-10-29 11:26:46 2680

原创 二叉搜索树的插入和删除

插入:比较简单,只需要确认这个元素是否在二叉树中存在T Insert(Tree T,int Element){ if(!T){ T=(Tree)malloc(sizeof(***)); T->data = Element; T->Left=T->Right=NULL; return T; } if(Element data){ Insert(T->Left,Eleme

2016-10-29 10:50:46 282

转载 知乎 SVM图解

作者:简之链接:https://www.zhihu.com/question/21094489/answer/86273196来源:知乎著作权归作者所有,转载请联系作者获得授权。正好最近自己学习机器学习,看到reddit上 Please explain Support Vector Machines (SVM) like I am a 5 year old 的帖子,一个字赞

2016-10-23 20:22:50 4102 2

转载 知乎 bp算法

作者:匿名用户链接:https://www.zhihu.com/question/27239198/answer/89853077来源:知乎著作权归作者所有,转载请联系作者获得授权。BackPropagation算法是多层神经网络的训练中举足轻重的算法。简单的理解,它的确就是复合函数的链式法则,但其在实际运算中的意义比链式法则要大的多。要回答题主这个问题“如何直观的解释

2016-10-23 18:48:56 2075

转载 一文弄懂神经网络中的反向传播法——BackPropagation

来源:http://www.cnblogs.com/charlotte77/p/5629865.html 最近在看深度学习的东西,一开始看的吴恩达的UFLDL教程,有中文版就直接看了,后来发现有些地方总是不是很明确,又去看英文版,然后又找了些资料看,才发现,中文版的译者在翻译的时候会对省略的公式推导过程进行补充,但是补充的又是错的,难怪觉得有问题。反向传播法其实是神经网络的基础了,但是很多

2016-10-23 16:17:53 1281

原创 求树的高度

int max_height;void Depth(BinTree T,int depth){ if(T){ if(T->Left) Depth(T->Left,depth+1); if(T->Right) Depth(T->Right,depth+1); } if(depth>max_height){ max_height = depth; }}

2016-10-22 11:16:15 375

转载 线索二叉树

来源:http://blog.csdn.net/u014492609/article/details/40477795一、线索二叉树的原理    通过考察各种二叉链表,不管儿叉树的形态如何,空链域的个数总是多过非空链域的个数。准确的说,n各结点的二叉链表共有2n个链域,非空链域为n-1个,但其中的空链域却有n+1个。如下图所示。    因此,提出了一种方法,利用

2016-10-22 10:18:01 484

转载 矩阵求导

矩阵求导好像读书的时候都没学过,因为讲矩阵的课程上不讲求导,讲求导的课又不提矩阵。如果从事机器学习方面的工作,那就一定会遇到矩阵求导的东西。维基百科上:http://en.wikipedia.org/wiki/Matrix_calculus , 根据Y与X的不同类型(实值,向量,矩阵),给出了具体的求导公式,以及一堆相关的公式,查起来都费劲。其实在实际的机器学习工作中,最常

2016-10-16 11:40:46 475

原创 pta甲级 43 Tree Traversals Again

An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys numbered from 1 to 6) is traversed, the stac

2016-10-15 15:28:53 676

原创 二叉树遍历方式的转化(递归写法)

大家都知道二叉树已知中序遍历和后序遍历可以求前序遍历已知前序遍历和中序遍历可以求后序遍历,那么现在实现一下想法基本是利用递归,先找到根节点的位置,然后利用左右子树递归前序遍历+中序遍历 求 后序遍历:void dfs(char *inorder,char *preorder,int len){ if(len == 0) return ; int rootindex =

2016-10-15 15:19:25 730

转载 二叉树遍历非递归写法

来源:http://www.cnblogs.com/BaroC/p/5188545.html遍历的非递归实现是用栈来实现的,因为栈能提供先入后出。而对于层序遍历,由于需要遵循层的顺序,使用队列。1.先序遍历(中左右)初始化:根节点入栈。循环:出栈一个节点,访问这个节点,然后把这个节点的右子树,左子树入栈(由于栈先入后出,所以最后的顺序还是中-》左-》右)Push(T,s);

2016-10-15 12:41:19 324

原创 一个数组实现两个栈

// typedef struct StackRecord *Stack;// struct StackRecord {// int Capacity; /* maximum size of the stack array */// int Top1; /* top pointer for Stack 1 */// int Top2

2016-10-11 17:29:24 406

转载 递归算法的时间复杂度

关于算法估计:注意这个c是一个positive constants,可以由我们选择,但必须是常数第二个要注意的地方是:运用代入法的时候,我们必须要在结论中证明出和归纳假设严格一致的形式,比如我们假设T(n)=nlgn,那么我们最后必须要能证明出T(n)   【代入法】代入法首先要对这个问题的时间复杂度做出预测,然后将预测带入原来的递归方程,如果没有出现矛盾,则是可能的解,最

2016-10-06 13:48:25 741

转载 大牛文章:理解矩阵

来源:http://blog.csdn.net/myan/article/details/647511前不久chensh出于不可告人的目的,要充当老师,教别人线性代数。于是我被揪住就线性代数中一些务虚性的问题与他讨论了几次。很明显,chensh觉得,要让自己在讲线性代数的时候不被那位强势的学生认为是神经病,还是比较难的事情。可怜的chensh,谁让你趟这个地雷阵?!色令

2016-10-03 22:10:03 638

转载 python 学习之 用python做科学计算Numpy

官方文档http://old.sebug.net/paper/books/scipydoc/numpy_intro.html本文是官方文档的完全搬运,推荐直接查看官方文档  NumPy-快速处理数据标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针。这样为了保存一个简单的[1,2,

2016-10-02 22:55:07 3113

转载 python学习之 图片隐写术

原文来自https://www.shiyanlou.com/courses/651/labs/2121/documentclass bytearray([source[, encoding[, errors]]])返回一个新的字节数组。bytearray 类是一个关于整数的 mutable(可变)序列,范围为0 它包含了可变序列大部分的常用方法,参见 Mutable Seq

2016-10-02 16:00:47 3492

翻译 python 学习之 Pillow库

官方文档:https://pillow.readthedocs.io/en/3.3.x/handbook/tutorial.html#using-the-image-classThe most important class in the Python Imaging Library is the Image class, defined in the module with th

2016-10-02 10:20:48 4202

翻译 python 环境管理器pyenv 命令

写500 lines or less的时候需要用到python 3.4更新的selectors库,不得不安装一个pyenv(很好记,python environment)原味来自官方文档:https://github.com/yyuu/pyenv/blob/master/COMMANDS.md#command-referencepyenv local设置当前(Sets

2016-10-01 19:51:39 3643

转载 关于Blocking IO,non-Blokcing IO,async IO的区别和理解

来源:http://shmilyaw-hotmail-com.iteye.com/blog/1896683概括来说,一个IO操作可以分为两个部分:发出请求、结果完成。如果从发出请求到结果返回,一直Block,那就是Blocking IO(常见的顺序化程序结构);如果发出请求就可以返回(结果完成不考虑),就是non-blocking IO;如果发出请求就返回,结果返回是Block在s

2016-10-01 18:13:32 1950

原创 python学习之 socket

Socket的中文名套接字(socket):源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。socket的作用:区分不同应用程序进程间的网络通信和连接,主要有3个参数

2016-10-01 15:45:05 1201

原创 坑 python学习之 500 lines or less 杂项

1.两个特殊方法__getitem__ 和 __setitem__ 是两个类的特殊方法比如一个类叫DBDB那么a=DBDB(f)a[4] 就等价于a.__getitem__(4)__setitem__方法同理2.关于异常处理以下内容来自:http://www.cnblogs.com/windlazio/archive/2013/01/24/2874417.htm

2016-09-30 22:54:44 6069

原创 python学习之 range 和 slice

之前学习的时候一直没有仔细学习range,都是需要用的时候才顺便学习一下,这里稍微总结一下它们的用法range:来源:http://www.cnblogs.com/buro79xxd/archive/2011/05/23/2054493.html使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节。这里记录一下rang

2016-09-30 21:59:24 710

转载 python学习之 sys.stdout

来源:http://blog.csdn.net/wuxiushu/article/details/52358172sys.stdout 与 print  当我们在 Python 中打印对象调用 print obj 时候,事实上是调用了 sys.stdout.write(obj+'\n')  print 将你需要的内容打印到了控制台,然后追加了一个换行符  print 会调用 sys

2016-09-30 21:10:21 1760

转载 python学习之 zip

来源:http://www.cnblogs.com/frydsh/archive/2012/07/10/2585370.htmlzip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。具体意思不好用文字来表述,直接看示例:1.示例1:x = [1, 2, 3]y = [4, 5, 6]z = [7, 8, 9]xyz = zip(x, y,

2016-09-29 20:35:36 234

转载 C++静态库与动态库

来源:http://www.cnblogs.com/skynet/p/3372855.html这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序

2016-09-27 08:42:28 894

原创 python学习之 12306的一个小爬虫

本文思路主要来源于实验楼的教程,但是一些具体的一些细节是我自己发现的,比如哪里获得站点对应的3位英文编号,怎么获得这个查询的url本文用到的库主要有requests(获取url的内容),prettytable(让文本输出美观),argparse(命令行参数解析)关于这些库怎么使用,可以参见我之前的博文1.首先打开12306余票查询的界面https://kyfw.12306.cn/o

2016-09-26 21:25:17 11839 4

原创 python学习之 json

做12306爬虫的时候,回传的数据是json格式,但是用r.json()解析之后我不知道怎么用。然后尝试用正则去解析,刚开始还是挺顺利的,直到我需要检测火车票的时候,才发现对于一种火车票,有三种可能性:数字、‘--’或者‘无’。其他还好,‘无’这个中文就让人感觉闹心了,折腾半天没有办法,正好遇到张吉嘎,学习了一下json。JSON:全名javascript object notation,也就

2016-09-26 20:06:50 479

空空如也

空空如也

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

TA关注的人

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