二分查找(binary search)又称二分查找。其查找过程是,先确定待查记录所在范围,然后逐步缩小范围,直至找到该记录或者当查找区间缩小到0也没有找到关键字等于给定值的记录为止。
继续阅读“基础查找算法之二分查找”
月份:2017年1月
【转载】进程和线程的主要区别
按照传统的Unix编程模型,我们在一个系统上运行多个进程,每个进程都有各自的地址空间。虽然Unix系统中进程的概念已经使用很久了,一个给定进程内多个线程的概念相对较新。
继续阅读“【转载】进程和线程的主要区别”
【转载】C/C++中堆和栈的区别
首先,我们举一个例子:
void f() { int* p=new int[5]; }
继续阅读“【转载】C/C++中堆和栈的区别”
C++标准程序库之string
首先,我们对术语“string”的定义是:C++标准程序库中某个字符串类型(string或wstring)的对象。至于一般字符串,也就是char* 或const char*,我们用术语“C-string”来表示。
继续阅读“C++标准程序库之string”
C++标准程序库之map,multimap
map和multimap将key/value pair当做元素,进行管理。它们根据key的排序准则自动将元素排序。multimap允许重复元素,map不允许。
继续阅读“C++标准程序库之map,multimap”
C++标准程序库之set,multiset
set和multiset会根据特定的排序准则,自动将元素排序。两者的不同之处在于multiset允许元素重复而set不允许。
继续阅读“C++标准程序库之set,multiset”
【转载】主成分分析(PCA)原理详解
一、PCA简介
C++标准程序库之list
list使用一个doubly linked list(双向链表)来管理元素。使用时必须包含头文件:<list>。其中list类型是定义于namespace中,是个class template:
namespace std {
继续阅读“C++标准程序库之list”
C++标准程序库之deque
容器deque(发音为”deck”)和vector非常相似。它也采用动态数组来管理元素,提供随机存取,并有着和vector几乎一模一样的接口。不同的是deque的动态数组头尾都开放,能在头尾两端进行快速安插和删除。
继续阅读“C++标准程序库之deque”
C++标准程序库之vector
本人之前对STL的学习主要来自C++ Primer一书,随着时间的推进,对标准模板库的一些知识有些淡忘,遂再次对STL容器部分加以总结,用以温习。
继续阅读“C++标准程序库之vector”