自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (7)
  • 收藏
  • 关注

原创 I/O多路转接

简要介绍了多路I/O复用的两个函数select和poll。

2014-08-27 15:55:43 2792

原创 01背包问题和完全背包问题

在hihocoder上面两期的题目,一个01背包问题,一个完全背包问题。总结一下!

2014-08-27 10:27:28 63490 28

原创 线程的一些概念

线程是操作系统能够进行运算调度的最小单位,包含在进程之中。本文介绍了线程的一些概念和简单操作。

2014-08-26 19:47:09 1339

原创 信号

关于信号的一些概念和常用函数,以及使用方法。

2014-08-25 15:48:51 1282

原创 进程组和会话

讲述进程组和会话,以及它们的一些特性和函数。

2014-08-24 21:34:38 3358

原创 进程控制

进程的控制大概包括进程创建、进程执行和进程终止,还有进程的附加属性。

2014-08-22 14:47:12 4383

原创 UNIX进程的环境

在学习进程之前,先来了解下进程的执行环境。进程如何开始,怎么终止,程序内存布局等。

2014-08-21 11:03:58 1653

原创 标准I/O库

标准的I/O是由ANSI C标准规定的,不仅可以在UNIX/Linux上使用,还可以在其他地方使用。了解标准I/O库的细节,能使我们更好的使用标准I/O库。

2014-08-20 16:41:05 3003

原创 文件I/O之-打开文件在内核中的表示

参考《UNIX环境高级编程》,主要记录打开文件的文件描述符怎么在内核中表示。

2014-08-19 23:09:31 2383

原创 STL中的仿函数

仿函数是行为类似函数的类或结构体,类或结构体重载了operator(),它比函数指针更加灵活易用。

2014-08-19 14:37:02 5372

原创 《STL源码剖析》---stl_algobase.h阅读笔记

STL标准中没有区分基本算法或复杂算法,单SGI把常用的一些算法定义在<stl_algobase.h>只中。在这些算法中,比较值得学习的是copy函数,它“无所不用其极”的改善效率。

2014-08-19 10:48:34 2544

原创 vector动态二维数组(容器的容器)占用内存分析

用vector创建二维动态数组,也就是用容器的容器来创建,分析它是怎么使用内存的。

2014-08-18 21:21:54 17751 1

原创 《STL源码剖析》---stl_numeric.h阅读笔记

STL中的数值算法。包括累加、乘幂、计算差值。

2014-08-18 17:41:03 1945 1

原创 《STL源码剖析》---stl_hash_map.h阅读笔记

SGI STL中的map底层以红黑树实现,hash_map以hash table实现。hash_map不允许插入重新键值,hash_multimap允许插入重复键值。这两者的关系就像map和multimap的关系。底层的hash table提供的大部分的操作,hash_map(hash_multimap)大部分都是直接调用hash table的函数。

2014-08-18 16:27:33 2250

原创 《STL源码剖析》---stl_hash_set.h阅读笔记

STL只规定接口和复杂度,对于具体实现不作要求。set大多以红黑树实现,但STL在标准规格之外提供了一个所谓的hash_set,以hash table实现。hash_set的接口,hash_table都提供了,所以几乎所有的hash_set操作都是直接调用hash_table的函数而已。除了hash_set,还有hash_multiset,它们两个的关系就像set和multiset的关系,一个不允许键值重复,另外一个允许键值重复。其他实现一样。

2014-08-18 09:03:18 1935

原创 《STL源码剖析》---stl_pair.h阅读笔记

pair是STL中的模板类型,它可以存储两个元素,它也被称作“对组”。pair没有什么强大功能函数,其源代码很简单。

2014-08-17 22:26:28 2519 5

原创 《STL源码剖析》---stl_hashtable.h阅读笔记

哈希表/散列表hash table在插入、删除、查找上具有“平均常数时间复杂度”O(1),hash table原理大部分都了解,具体实现还是要看其源代码。

2014-08-17 18:37:57 3529 1

原创 《STL源码剖析》---stl_multimap.h阅读笔记

multimap和map的关系和multiset和set关系一样,multimap允许有重复的键值,它在使用底层数据结构红黑树用,插入操作用的是insert_equal,而不是insert_unique。

2014-08-17 11:39:54 1706

原创 《STL源码剖析》---stl_multiset.h阅读笔记

STL中的set不允许键值重复,因此就有了multiset。multiset和set操作一样,功能一样,但是multiset允许键值重复,因此它们两个源代码几乎相同,只是在使用红黑树的插入操作时用的函数不一样而已。

2014-08-17 08:07:52 1741 1

原创 《STL源码剖析》---stl_map.h阅读笔记

map是STL中的标准关系容器,它存储的元素时pair,拥有键值key和实值value。按照键值key存储到红黑树中,用红黑树提供的函数操作map。

2014-08-16 11:46:49 5303 1

原创 《STL源码剖析》---stl_set.h阅读笔记

SET是STL中的标准容器,SET里面的元素会根据键值自动排序,它底层数据结构是红黑树。

2014-08-16 11:11:49 2010

原创 《STL源码剖析》---stl_tree.h阅读笔记

STL中,关联式容器的内部结构是一颗平衡二叉树,以便获得良好的搜索效率。红黑树是平衡二叉树的一种,它不像AVL树那样要求绝对平衡,降低了对旋转的要求,但是其性能并没有下降很多,它的搜索、插入、删除都能以O(nlogn)时间完成。平衡可以在一次或者两次旋转解决,是“性价比”很高的平衡二叉树。

2014-08-15 21:14:23 6120

原创 《STL源码剖析》---stl_slist.h阅读笔记

slist是单向链表,不是STL标准,且功能不如list,但是slist占用空间小,某些操作代价更小。

2014-08-14 17:49:28 2482 6

原创 《STL源码剖析》---stl_heap.h阅读笔记

Heap堆是常用的数据结构,Heap中也可以存放元素。但是STL中并没有提供Heap容器,只是提供了关于Heap操作的算法。

2014-08-14 11:47:39 2890

原创 《STL源码剖析》---stl_stack.h阅读笔记

Stack栈是常用的一个FILO数据结构。栈在STL是靠deque来实现的。

2014-08-14 09:50:22 1601

原创 《STL源码剖析》---stl_deque.h阅读笔记(2)

《STL源代码剖析》的双端队列的源代码剖析。

2014-08-13 23:15:21 2390

原创 《STL源码剖析》---stl_deque.h阅读笔记(1)

双端队列deque是容器的一种,借助《STL源代码剖析》讲解双端队列的内存结构以及基本操作。

2014-08-13 23:08:32 1900

原创 《STL源码剖析》---stl_list.h阅读笔记

STL中链表list是一个常用的容器。list在内存中是不连续的双向链表,且是环形的。要了解链表细节是如何操作的话,阅读STL关于链表的代码是最好的方法。

2014-08-12 23:35:16 2910 3

原创 《STL源码剖析》---stl_vector.h阅读笔记

在STL中,最常用的就是容器,最常用的容器就是vector了。想要了解vector如何动态增长等特性,看一下stl中vector的代码吧!

2014-08-12 16:16:28 4634 1

原创 《STL源码剖析》---stl_iterator.h阅读笔记

讲解STL中迭代器的设计思想和设计的代码。其中用到了Traits编程技法和Partial Specializetion(偏特化)。

2014-08-11 17:51:26 4438

原创 《STL源码剖析》---stl_uninitialized阅读笔记

这节讲解在已分配但未初始化的空间上构造对象,这节不同于stl_construct.h(它是构造一个对象),这节讲解的内容在《STL源代码剖析》中是“内存处理基本工具”,我的理解是初始化一段内存.

2014-08-11 11:21:04 2131

原创 《STL源码剖析》---stl_alloc.h阅读笔记

侯捷翻译的《STL源码剖析》stl_alloc.h阅读笔记。讲解的内存的配置与释放。

2014-08-11 00:13:15 4954

原创 VS2010编译调试STL源代码

平台环境:windows 7 32位+VS2010+STL源代码

2014-08-10 14:35:38 6380 3

原创 《STL源码剖析》---stl_construct.h阅读笔记

《STL源码剖析》---stl_construct.h阅读笔记,主要讲解的是对象的构造与析构。

2014-08-09 23:11:57 2225

原创 C++优化内存分配

C++中的底层内存分配,对象构造与析构。

2014-08-09 16:41:41 3958 1

原创 二叉树的线索化

当二叉树使用链表表示时,用左右两个孩子指针可以找到左右孩子信息。我们可以用先序、中序、后序遍历二叉树,不同的遍历得到不同排列顺序的结点信息。只有在遍历的过程中才能得到某一结点的前驱与后继结点。在n个结点的二叉树中,有2n个指针域,根节点不用指针域,其他(n-1)个结点只用了(n-1)个指针域,还有(n+1)个指针域空着没用,我们可以利用者空着的指针域来记录某种遍历下结点的前驱与后继。为了区分某

2014-08-08 10:04:39 2786

转载 C/C++中volatile关键字

1. volatile关键字C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 "The C++ Programming Language" 对 volatile 修饰词的说明:A volatile specifier is a hint to a compiler that an ob

2014-08-08 08:13:18 1199

翻译 C++11简介(1)

简要介绍C++11的几个特性,从codeproject翻译的,翻译的不是很准确。这是第一篇。

2014-08-07 11:13:51 2293

翻译 矩阵旋转(图像旋转)

CareerCup上的一道题,比较有技巧性,旋转矩阵(图像)。

2014-08-06 16:08:09 6420

原创 二叉树的非递归遍历以及层次遍历

在递归调用过程用,

2014-08-06 12:38:41 1292

决策树-上-ID3-C4.5-CART-及剪枝

从百度下载的关于决策树的讲义。

2016-05-21

stl 的dequeue

stl的一个源代码,加了店主是,比较容易理解

2014-08-13

《STL源码剖析》光盘附带源码

侯捷翻译的《STl源码剖析》一书中的源代码。word文档格式。

2014-08-11

STL5.2.1源代码

这SGI STL5.2.1的源代码,可以在vs2010上面编译使用

2014-08-10

mingw5.1.6安装包

mingw5.1.6安装包,集成了g++、gcc编译器,可以选择安装。

2014-08-09

sun java version 1_3_1-win-i.exe

Jave RunTime Environment 1.3,Windos版本

2014-03-04

空空如也

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

TA关注的人

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