一. at() 与 operator[] void f(vector<int>& v) { v[0]; v.at(0); } 对于 vector 中的元素的随机访问有两种方式operator[] 和 at() , 两种方式的区别主要就是 at() 函数会进行边界检查,对于越界会抛出异常std::out_of_range operator[] 不会进行边界检查,如果越界可能直接引起程序crash 正因为上述区别,at() 每次都会进行边界检查,因此导致速度不如 operator[…
STL源码剖析读书笔记之vector 1.vector概述 vector是一种序列式容器,我的理解是vector就像数组.但是数组有一个很大的问题就是当我们分配 一个一定大小的数组的时候,起初也许我们不会觉得数组容量太小不合需求,但是随着数据量的增加, 数组尺寸大小不再满足需求,此时我们需要手动的去扩展其大小.然而vector就帮我们完全实现了一个可 自适应增长的数组功能.那么这样看来vector其实也就是一种可自适应增长的动态数组的类的实现. 2.关于vector的定义 其实用过vector的…
书籍位置: /Users/baidu/Documents/Data/Interview/机器学习-数据挖掘/<机器学习_周志华.pdf> 一共442页.能不能这个周末先囫囵吞枣看完呢.哈哈哈. 当然了,我觉得Spark上面的实践其实是非常棒的.有另一个系列文章讨论了Spark. 还有另一篇读书笔记(Link)是关于<机器学习实战>.实战经验也很重要. P1 一般用模型指全局性结果(例如决策树),用模式指局部性结果(例如一条规则). P3 如果预测的是离散值,那就是分类-classi…
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第13章 - 利用PCA来简化数据. 这里介绍,机器学习中的降维技术,可简化样品数据. 降维技术的用途 使得数据集更易使用: 降低很多算法的计算开销: 去除噪声: 使得结果易懂. 基本概念 降维(dimensionality reduction). 如果样本数据的特征维度很大,会使得难以分析和理解.我们可以通过降维技术减少维度. 降维技术并不是将影响少的特征去掉,而是将样本数据集转换成一个低维度…
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第7章 - 利用AdaBoost元算法提高分类性能. 核心思想 在使用某个特定的算法是,有时会发现生成的算法\(f(x)\)的错误率比较高,只使用这个算法达不到要求. 这时\(f(x)\)就是一个弱算法. 在以前学习算法的过程中,我们认识到算法的参数很重要,所以把公式改写成这样: \[ f(x,arguments) \\ where \\ \qquad x \text{ : calculated…
1.什么是序列式容器?什么是关联式容器? 书上给出的解释是,序列式容器中的元素是可序的(可理解为可以按序索引,不管这个索引是像数组一样的随机索引,还是像链表一样的顺序索引),但是元素值在索引顺序的方向不一定是有序的.下面这幅图是SGI STL中的各种容器,图中内缩表示内含关系,类似于UML类图里面的组合关系.比如说heap内含一个vector,表示heap是借由vector实现的. 2.vector vector概述 vector的空间是动态分配的,对vector进行size()操作得到的结果是…
http://blog.csdn.net/jinshengtao/article/details/17954427   <Mastering Opencv ...读书笔记系列>车牌识别(II) http://blog.csdn.net/jinshengtao/article/details/17883075/   <Mastering Opencv ...读书笔记系列>车牌识别(I) <Mastering Opencv ...读书笔记系列>车牌识别(II) 标签: 车牌…
http://blog.csdn.net/jinshengtao/article/details/17883075/  <Mastering Opencv ...读书笔记系列>车牌识别(I) http://blog.csdn.net/jinshengtao/article/details/17954427   <Mastering Opencv ...读书笔记系列>车牌识别(II) Mastering Opencv ...读书笔记系列>车牌识别(I) 标签: 车牌分割svm西…
Effective STL 读书笔记 标签(空格分隔): 未分类 慎重选择容器类型 标准STL序列容器: vector.string.deque和list(双向列表). 标准STL管理容器: set.multiset.map和multimap. 非标准STL序列容器: slist(单向列表)和rope(重型字符串?). 非标准STL关联容器: hash_set.hash_multiset.hash_map和hash_multimap.(c++11引入了unordered_set.unordere…
<Essential C++>读书笔记 之 C++编程基础 2014-07-03 1.1 如何撰写C++程序 头文件 命名空间 1.2 对象的定义与初始化 1.3 撰写表达式 运算符的优先级(precedence) 1.5 如何运用Arrays(数组)和Vectors(向量) 1.6 指针带来弹性 指针的使用 1.1 如何撰写C++程序 返回 函数(function)是一块独立的程序代码序列(code sequence),能够执行一些运算.它包含4个部分: 返回值型别(return type)…