自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (3)
  • 收藏
  • 关注

原创 【数据结构】二叉树的遍历

二叉树的遍历大致可分为先序遍历、中序遍历、后序遍历和层次遍历四种。具体的实现原理都比较简单,这里不再描述,现在给出具体的遍历算法。本文给出了二叉树遍历的递归算法和非递归算法,这样有助于对照了解。二叉树的结构体 typedef struct BinTreeNode {  int data; // 默认结点中存储整型数据 struct BinTreeNo

2016-08-26 17:13:02 726

原创 【数据结构】数据结构中常用的排序算法

排序是数据结构中重要的内容,也是面试过程中经常涉及的部分。在这里,我给出几个基本的排序算法的C/C++代码。对于具体的排序的原理,不做太多的介绍,随便找一本数据结构教材都能弄清楚。声明:1、以下给出的代码并没有判断边界条件,只是给出了算法的核心代码,如果遇到具体的问题,应该加以判断。 2、算法实现的是升序排列。1、插入排序1、直接插入排序void InsertSort(int* A, int n)

2016-08-26 16:39:18 929

原创 【C++】STL常用容器总结之十二:string类

13、string类声明string类本不是STL的容器,但是它与STL容器有着很多相似的操作,因此,把string放在这里一起进行介绍。 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下的需要。我们尽可以把它看成是C++的基本数据类型。 首先,为了在我

2016-08-25 13:02:43 22416 6

原创 【C++】STL常用容器总结之十一:容器小结

12、容器小结1、容器的选用Vector和deque容器提供了对元素的快速访问,但付出的代价是,在容器的任意位置插入或删除元素,比在容器尾部插入和删除的开销更大,因为要保证其连续存储,需要移动元素;list类型在任何位置都能快速插入和删除,因为不需要保证连续存储,但付出的代价是元素的随机访问开销较大。特征如下: - 与vector容器一样,在deque容器的中间insert或erase元素效率比

2016-08-25 12:44:26 1064 1

原创 【C++】STL常用容器总结之十:多重映射multimap和多重集合multiset

11、多重映射multimap和多重集合multiset由于multimap/multiset与map/set有太多的相似之处,故在这里我们一起进行介绍。首先需要指出的是,multimap的特性以及用法与map完全相同,唯一的差别在于它允许键值重复。同样,multiset的特性以及用法与set完全相同,唯一的差别在于它也允许键值重复。 Map和set容器中,一个键只能对应一个实例,而multima

2016-08-25 12:32:24 2349

原创 【C++】STL常用容器总结之九:集合set

10、集合setMap容器是键值对的集合,而set容器只是单纯的键的集合,当只想知道一个值是否存在时,使用set容器是最合适的。在set中,所有元素都会根据其键值被自动排序,同时set中不允许两个元素有相同的键值。1、set容器的一些操作Set容器支持大部分的map操作,主要包括以下几种操作:1、声明set对象set<T> s; // 创建一个名为s的空set,T是类型名。set<T> s(s2

2016-08-25 12:28:20 2347

原创 【C++】STL常用容器总结之八:映射map

9、映射mapMap是键-值对的集合,map中的所有元素都是pair,可以使用键作为下标来获取一个值。Map中所有元素都会根据元素的值自动被排序,同时拥有实值value和键值key,pair的第一元素被视为键值,第二元素被视为实值,同时map不允许两个元素有相同的键值。要使用map对象,必须包含map的头文件#include<map>。1、map的构造函数在定义map对象时,必须分别指明键和值的类型

2016-08-25 12:20:54 5165 2

原创 【C++】STL常用容器总结之七:对组pair与关联容器

8、对组pair在这部分,我们先介绍一下对组pair与关联容器,之后在介绍常用的几个具体的关联容器。1、关联容器关联容器是存储对象集合的类型,支持通过键的高效查询。关联容器的大部分行为与顺序容器相同,二者的本质区别在于关联容器通过键存储和读取元素,而顺序容器是通过元素在容器中的位置顺序存储和访问元素。 关联容器的每个元素包含一个键值(key)和一个实值(value)。当元素被插入到关联容器中时,容

2016-08-25 12:10:03 1821

原创 【C++】STL常用容器总结之六:基于deque的顺序容器适配器

7、基于deque的顺序容器适配器1. stack的基本概念Stack即栈,允许新增元素、移除元素、取得最顶端元素。但除了最顶端外,没有任何其他方法可以存取stack的其他元素,换言之,stack不允许随机访问。可以将stack看成是封闭了一端开口的deque。 将元素插入stack的操作称为push,将元素弹出stack的操作称为pop。Stack所有元素的进出都必须符合“后进先出”的条件,只有

2016-08-25 11:22:23 1238

原创 【C++】STL常用容器总结之五:双端队列deque

所谓的deque是”double ended queue”的缩写,双端队列不论在尾部或头部插入元素,都十分迅速。而在中间插入元素则会比较费时,因为必须移动中间其他的元素。双端队列是一种随机访问的数据类型,提供了在序列两端快速插入和删除操作的功能,它可以在需要的时候改变自身大小,完成了标准的C++数据结构中队列的所有功能。 Vector是单向开口的连续线性空间,deque则是一种双向开口的连续线性空

2016-08-25 11:05:53 13476

原创 【C++】STL常用容器总结之四:链表list

List是每个节点包含前驱指针、后继指针和数据域三个部分的双向链表。List不提供随机存取,访问元素需要按顺序走到需存取的元素,时间复杂度为O(n),在list的任何位置上执行插入或删除操作都非常迅速,只需在list内部调整一下指针。list不仅是一个双向链表,而且还是一个环状双向链表。所以它只需要一个指针,便可以完整实现整个链表。(这里需要特别强调一下:list到底是不是双向链表?有的书上说是,有

2016-08-25 10:34:40 8047 1

原创 【C++】STL常用容器总结之三:向量vector

4、向量vectorVector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。Vector的数据安排及操作方式与array非常相似,唯一的差别在于array是静态空间,一旦配置了就不能改变;vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素。 使用vector之前,必须包含相应的头文件和命名空间:#include <vector>using std::v

2016-08-24 23:35:48 5022 2

原创 【C++】STL常用容器总结之二:顺序容器

3、顺序容器所谓序列式容器,其中的元素都可序(ordered),但未必有序(sorted)。array为C++语言内置的序列容器,STL另外提供vector、list、deque、stack、queue等等顺序式容器。它们的差别在于访问元素的方式,以及添加或删除元素相关操作的运行代价。 标准库还提供了三种容器适配器(adapter),所谓适配器是根据原始的容器类型所提供的操作,通过定义新的操作接口

2016-08-24 23:07:03 1206 1

原创 【C++】STL常用容器总结之一:容器与迭代器

声明: 1、本博文主要整理自《C++ Primer》和《STL源码剖析》这两本经典书籍。同时,也参考了网络中不少优秀博客,对这些博客的作者表示感谢。 2、由于博主能力有限,对于一些容器的用法可能尚未进行深入研究。因此,本博文若有错误和不足之处,欢迎大家批评指正。 3、本博文仅作学术交流只用,无任何其他用途。言归正传,下面开始介绍C++中的STL容器。1、容器的概念 Standard Temp

2016-08-24 22:46:00 9755

数据结构经典的排序算法

数据结构的7个排序算法的函数的代码,包括:1.直接插入排序 2.希尔排序 3.冒泡排序 4.快速排序 5.简单选择排序 6.堆排序 7.二路归并排序。有的代码是递归实现的,有的是循环实现的。

2016-05-24

VS2010调用Tesseract-OCR需要使用的全部工具

1.tesseract-ocr-setup-3.02.02.exe 安装文件 2.tesseract-3.02.02-win32-lib-include-dirs.zip文件 3.liblept168和VS2010编译出的3个dll文件 4.chi_sim.traineddata 简体中文训练集

2015-11-10

libsvm训练集

Libsvm训练数据集heart_scale的matlab版和C++版

2015-07-20

空空如也

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

TA关注的人

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