自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (6)
  • 收藏
  • 关注

原创 STL源码剖析 [容器](十七)[stl_multimap.h]

multimap 与 map 一样,都是使用红黑树对记录型的元素数据,按元素键值的比较关系,进行快速的插入、删除和检索操作,所不同的是 multimap 允许将具有重复键值的元素插入容器。在 multimap 容器中,元素的键值与元素的映照数据的映照关系,是多对多的,因此,multimap 称为多重映照容器。multimap 与 map 之间的多重特性差异,类似于 multiset 与 set

2015-08-31 12:04:43 844

原创 STL源码剖析 [容器](十六)[stl_map.h]

map是STL的一个容器,map也是一种关联式容器。它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,有助于我们处理一对一数据。这里说下map内部数据的组织,map内部是自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的。源码:// Filename:

2015-08-31 11:57:40 818

原创 STL源码剖析 [容器](十五)[stl_multiset.h]

Set、multiset都是集合类,差别在与set中不允许有重复元素,multiset中允许有重复元素。// Filename: stl_multiset.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412/* *

2015-08-31 11:51:29 852

原创 STL源码剖析 [容器](十四)[stl_set.h]

       set是关联容器。其键值就是实值,实值就是键值,不可以有重复,所以我们不能通过set的迭代器来改变set的元素的值,set拥有和list相同的特性:当对他进行插入和删除操作的时候,操作之前的迭代器依然有效。当然删除了的那个就没效了。set的底层结构是RB-tree,所以是有序的。stl中特别提供了一种针对set的操作的算法:交集set_intersection,并集set_u

2015-08-31 09:58:35 559

原创 STL源码剖析 [容器](十三)[stl_tree.h]

G++ 2.91.57,cygnus\cygwin-b20\include\g++\stl_tree.h 完整列表/* * * Copyright (c) 1996,1997 * Silicon Graphics Computer Systems, Inc. * * Permission to use, copy, modify, distribute and sell this so

2015-08-31 09:35:12 835

原创 STL源码剖析 [容器](十二)[RB_Tree]

关于红黑树的介绍网上也比较多比较详细,这里不啰嗦了。学习可以参考维基百科的“红黑树”。源码://file RBTree.h//written by saturnman#ifndef _RB_TREE_H_#define _RB_TREE_H_#include#include#include#includeusing namespace std;templ

2015-08-30 17:07:45 713

原创 STL源码剖析 [容器](十一)[AVL Tree]

知识解释来源:http://www.cnblogs.com/zhuyf87/archive/2012/11/12/2767136.html(不包括实现)*********************************************************************************************************AVL(Adelson

2015-08-30 16:56:06 653

原创 STL源码剖析 [容器](十)[Binary search tree]

本文的译文来自:http://www.cnblogs.com/dskit/archive/2012/08/18/2645927.html本文原文来自维基百科:https://en.wikipedia.org/wiki/Binary_search_tree***************************************************************

2015-08-30 16:36:03 1062

原创 STL源码剖析 [容器](九)[stl_slist.h ]

slist(single linked list)单链表实现了链表的基本功能,slist单链表(带头结点)完成了从头部插入,查找和删除数据等链表的基本操作。源码:// Filename: stl_slist.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.

2015-08-30 15:31:58 693

原创 STL源码剖析 [容器](八)[priority_queue]

priority_queue,首先它是一个queue,即只允许在低端加入元素,并从顶端取出元素,除此之外别无其他存取元素的途径(故priority_queue不提供遍历功能,也不提供迭代器);再次它具有priority,即queue中的元素具有一定的priority:其内的元素自动依照元素的权值排列,权值最高者(也就是数值最高),排在最前面。注:在queue并非是依照严格的权值递减的顺序排列,而是

2015-08-30 15:12:35 632

原创 STL源码剖析 [容器](七)[stl_heap.h]

make_heap()、push_heap()、pop_heap()、sort_heap()是主要函数。建立堆【make_heap(_First, _Last, _Comp)】:默认是建立最大堆的。对int类型,可以在第三个参数传入greater()得到最小堆。 添加数据【push_heap (_First, _Last)】:要先在容器中加入数据,再调用push_heap () 删除数

2015-08-30 14:30:01 692

原创 STL源码剖析 [容器](六)[stl_queue.h]

queue 模板类的定义在头文件中。与stack 模板类很相似,queue 模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。定义queue 对象的示例代码如下:queue q1;queue q2;queue 的基本操作有:入队,如例:q.push(x); 将x 接到队列的末端。出队,如例:q.pop

2015-08-30 14:09:32 841

原创 STL源码剖析 [容器](五)[stl_stack.h]

stack比较简单,不需要太多的说明,直接看一下详细的源码说明:// Filename: stl_stack.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog: http://blog.csdn.net/mdl13412////////////////////////////////////

2015-08-30 11:54:24 554

原创 STL源码剖析 [容器](五)[stl_deque.h]

deque不只是可以再尾端插入,也可以在队列头插入。deque在STL中是维护多个连续内存的,多个连续的内存不一定连续,一段连续的内存叫做缓冲区。deque的迭代器有4个元素,cur指向当前所指的deque结点,first指向迭代器所指结点所在缓冲区的起始位置,last指向迭代器所指结点所在缓冲区的结尾位置,node指向中控器的某个位置,这个位置指向迭代器所指结点所在的缓冲区

2015-08-29 14:14:45 662

原创 STL源码剖析 [容器](四)[stl_pair.h]

Pair模版是C++ STL中短小精干的结构体,被定义在头文件中,把两个值视为一个结构单元,如map和multimap都利用了很多pair对组模版,即为成对元素,另外函数需要返回两个值的时候,也常用pair模版(当然,结构体也一样方便)。注意:pair被定义为结构体而不是类,这样一来他的成员都是公有属性,可以直接访问和赋值。Pair的定义:std::pair p(3,“

2015-08-29 13:48:18 749

原创 STL源码剖析 [容器](三)[stl_list.h]

这篇介绍的是list容器,学习list首选需要预备知识就是排序算法sort:http://blog.csdn.net/chenhanzhun/article/details/39337331这篇文章解释的非常清晰。===================================================================然后继续我们的stl_list.h源码:

2015-08-29 13:37:40 574

转载 C++ sizeof用法

转自:http://www.cnblogs.com/lidabo/archive/2012/08/27/2658519.htmlsizeof sizeof操作符的作用是返回一个对象或类型名的长度,长度的单位是字节。返回值的类型是标准库命名为size_t的类型,size_t类型定义在cstddef头文件中,该头文件是C标准库的头文件stddef.h的C++版本。他是一个和

2015-08-28 13:10:05 732

原创 STL源码剖析 [容器](二)

       容器学习肯定会看到iterator,所有容器有含有其各自的迭代器型别(iterator types),所以当你使用一般的容器迭代器时,并不需要含入专门的头文件。不过有几种特别的迭代器,例如逆向迭代器,被定义于中。      迭代器共分为五种,分别为: Input iterator、Output iterator、Forward iterator、Bidirectional

2015-08-28 12:18:25 706

原创 Regularized Gaussian Covariance Estimation(学习Free Mind知识整理)

阅读http://freemind.pluskid.org/machine-learning/regularized-gaussian-covariance-estimation/文章中的一些知识整理:====================================================================非常感谢Free Mind能够这么耐心的分析解

2015-08-27 20:17:33 993

原创 Vector Quantization(学习Free Mind知识整理)

阅读http://blog.pluskid.org/?p=57文章中的一些知识整理:=====================================================================矢量量化(Vector Quantization)其实也就是逼近,VQ 是将一个向量空间中的点用其中的一个有限子集来进行编码的过程。Vector Quantization

2015-08-27 19:22:26 2491 3

原创 Spectral Clustering(学习Free Mind知识整理)

阅读http://blog.pluskid.org/?p=287文章中的一些知识整理:本文学习的知识点谱聚类。

2015-08-27 17:54:32 2477

原创 Gaussian Mixture Model(学习Free Mind知识整理)

这篇关于Gaussian Mixture Model(GMM)的文章:http://blog.pluskid.org/?p=39  http://blog.csdn.net/abcjennifer/article/details/8198352===============================================================“高斯分布

2015-08-27 16:30:07 1011

原创 STL源码剖析 [SGI常用算法](stl_algobase.h)

STL标准中没有区分基本算法或复杂算法,单SGI把常用的一些算法(equal,fill,fill_n,iter_swap,lexicographical_compare,max,min,mismatch,swap,copy,copy_backward,copy_n)定义在只中,其他算法定义在中。stl_algobase.h源码:#ifndef __SGI_STL_INTERNAL_ALGO

2015-08-26 19:01:50 1052

原创 STL源码剖析 [特殊的空间配置器](机智的type_traits.h)

       Traits就是通过定义一些结构体或类,并利用模板类特化和偏特化的能力,给类型赋予一些特性,这些特性根据类型的不同而异。traits的编程技巧极度弥补了C++语言的不足 traits含义就是特性,应用Trait模板参数,使得我们的程序既保持灵活性,同时减少类型参数的数量。能够使得我们对函数进行更加细粒度的控制。traits技术依靠显示模版特殊化来把代码中因类型不同而发生变化的

2015-08-26 17:05:56 948

原创 STL源码剖析 [特殊的空间配置器](内存基本处理工具stl_uninitialized.h)

简单说明:(http://www.cnblogs.com/wangjzh/p/4106740.html?utm_source=tuicool)uninitialized_copy()使我们能够将内存的配置与对象的建构行为分离开来。如果作为输出目的地的[result, result+(last-first))范围内的每一个迭代器都指向未初始化区域,则uninitialized_copy()会

2015-08-26 16:40:05 585

原创 STL源码剖析 [特殊的空间配置器](内存memory )

因为对于内存布局不是很清楚然后查阅了一些资料,http://www.cnblogs.com/skynet/archive/2011/03/07/1975479.html大概了解了。而STL的就是通过迭代器把数据放入内存空间然后再通过迭代器进行操作。关于STL数据容器放入共享内存,http://www.cppblog.com/doing5552/archive/2010/07/24/121197.h

2015-08-26 16:30:51 486

原创 STL源码剖析 [特殊的空间配置器](对象构造和析构stl_construct.h)

       stl_construct定义了全局函数construct()和destroy(),负责对象的构造和析构。在内存上的算法还依赖于两个全局函数,construct()和destroy(),前者负责在指定的内存上调用对象的构造函数,在内存上构造出对象。后者则是相反,在指定内存上调用对象的析构函数,销毁对象。(注意:这两个函数不涉及对象内存的分配和释放,对象构造在指定的已分配好的内

2015-08-26 16:09:59 861

原创 STL源码剖析 [简单的SGI STL空间配置器](defalloc.h)

本文介绍的是一个简单的符合标准的allocator配置器,而在SGI STL中的allocator(实际叫alloc)配置器,这份allocator很简单,只是对::operator new和::operator delete的简单封装而已。下面的allocator完成对内存的分配与回收,但是并没有对象的构造,对象的构造是在stl_construct.h中的函数完成的,之所以将对象的分配和构造(析

2015-08-26 15:38:17 621

原创 STL源码剖析 [配置文件](stl_config.h)

stl-config.h里面主要是定义各种常量,主要是为编译服务的,对各种主流的编译器的编译环境都进行了测试,以便在不同的环境中进行编译,较新主流的编译器都是支持的。这应该是一个比较重要的文件。下面是源码:// Filename: stl_config.h// Comment By: 凝霜// E-mail: mdl2009@vip.qq.com// Blog:

2015-08-26 15:16:48 2024

原创 STL源码剖析 [容器](一)[stl_vector.h]

第三章讲的是迭代器,迭代器是将数据和算法很好的连接起来,接下来就学学存放数据的容器。STL的容器可以分为以下几个大类:一:序列容器, 有vector, list, deque, string.二 :关联容器,     有set, multiset, map, mulmap,hash_set,hash_map, hash_multiset, hash_multimap三:其他

2015-08-26 14:28:00 640

原创 STL源码剖析 [特殊的空间配置器](内存配置stl_alloc.h)

这一部分的学习将按照《STL源码剖析》来记录。我下载的STL源码是http://www.sgi.com/tech/stl/download.html。source code中包括STL标准头文件(无扩展名)、C++Standard HP STL头文件(如vector.h,deque.h.....)、SGI STL内部文件(stl_开头的文件)。本文从书中第二章开始学习-----------

2015-08-26 12:39:07 1288

转载 模板特化

模板为什么要特化,因为编译器认为,对于特定的类型,如果你能对某一功能更好的实现,那么就该听你的。模板分为类模板与函数模板,特化分为全特化与偏特化。全特化就是限定死模板实现的具体类型,偏特化就是如果这个模板有多个类型,那么只限定其中的一部分。先看类模板:templateclass Test{public: Test(T1 i,T2 j):a(i),b(j){cout<<"模板类"

2015-08-25 14:13:55 701

转载 C++中组合和继承的初始化

在C++中单个类的初始化比较简单就略过不说。当一个类继承了另外一个类,或者是一个类中还存在一个类 class A{、、、};class B{、、、};class C:classA{  private:   B bb;   int xpublic:    C(int ii):B(ii),bb(ii) ,x(ii){};};此

2015-08-25 13:45:51 660

原创 VS2013需牢记的快捷键

 1.回到上一个光标位置/前进到下一个光标位置  1)回到上一个光标位置:使用组合键“Ctrl + -”;  2)前进到下一个光标位置:“Ctrl + Shift + - ”。 2.复制/剪切/删除整行代码  1)如果你想复制一整行代码,只需将光标移至该行,再使用组合键“Ctrl+C”来完成复制操作,而无需选择整行。  2)如果你想剪切一整行代码,只需将光标移至该行,再

2015-08-25 13:22:47 530

原创 error C3872: "0xa0": 此字符不允许在标识符中使用(vs2013)

error C3872: '0xa0': this character is not allowed in an identifier这个意思就是说出现中文切换问题。这是因为直接复制代码的问题。0xa0是十六进制数,换成十进制就是160,表示汉字的开始。解决办法:在报错的代码行检查两边的空格,用英文输入法的空格替换掉。

2015-08-25 13:15:39 4897

转载 C++中#if #ifdef及其#define整理

C++中#if #ifdef 的作用 (http://www.cnblogs.com/renyuan/archive/2013/05/22/3092362.html)  一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当

2015-08-25 12:50:35 7692

转载 error LNK2019: 无法解析的外部符号 _WinMain@16(VS2013)

一,问题描述MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用 Debug\jk.exe : fatal error LNK1120: 1 个无法解析的外部命令error LNK2001: unresolved external symb

2015-08-25 12:43:53 6253

原创 STL学习----入门(2)[模板介绍]

模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数, 从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版。一、函数模板它的一般形式如下:Template 返回类型 函数名(形参表){//函数定义体 }说明: template是一个声明模板的关键字,表示声明一个模板关键字class不能省略,如果类型形参多余一个

2015-08-25 12:12:25 426

原创 STL学习----入门(2)[组件]

STL提供六大组件:1、 容器(Containers):各种数据结构,如:vector、list、deque、set、map。用来存放数据。从实现的角度来看,STL容器是一种class template。2、 算法(algorithms):各种常用算法,如:sort、search、copy、erase。从实现的角度来看,STL算法是一种 function templ

2015-08-25 11:58:14 423

原创 STL学习----入门(1)[utility]

#inlcudeutility>:包含的其它头文件 C++11rel_ops 名称空间std::rel_ops::operator!=,>,=通过用户自定义的 operator== 及 operator函数swap交换两个对象的值forwardC++1

2015-08-24 18:47:55 653

Tensorflow 实战Google深度学习框架&&TensorFlow;实战(二)

Tensorflow书籍仅供深度学习研究者学习使用,如有商业用途后果自负,本书是黄文坚的tensorflow,

2017-10-17

Tensorflow 实战Google深度学习框架&&TensorFlow;实战(一)

Tensorflow书籍仅供深度学习研究者学习使用,如有商业用途后果自负

2017-10-16

廖雪峰Python3.0.pdf

不同版本的python3.0基础教程

2016-08-02

廖雪峰Python2.7.pdf

基础教程python2.7适合新手学习

2016-08-02

TensorFlow Python API documentation

一个详细的Tensorflow的python教程

2016-06-29

空空如也

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

TA关注的人

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