自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 c++ primer 16章 模板与泛型编程

函数模板模板参数表示在类或函数定义中用到的类型或值,编译器使用实参的类型来确定绑定到模板参数的类型,编译器用推断出的模板参数来为我们实例化一个特定版本的函数类型参数类型参数可以用来指定 返回类型或 函数的参数类型,以及在函数体内用于变量声明或类型转换。 类型参数前必须使用关键字class或typename,这两个字含义相同,可以互换使用。非类型参数使用特定的类型名而非关键字来指定非类型参数。 非

2015-05-17 09:51:35 453

原创 STL源码剖析 第三章

iterators模式定义: 提供一种方法,使之能够依序寻访某个聚合物(容器)所含的各个元素,而又无需暴漏该聚合物的内部表述方式。3.1 迭代器设计思维——STL关键所在STL中心思想:将数据容器和算法分开,彼此独立设计,最后再以已贴粘着剂将他们撮合在一起3.2 迭代器是一种smart pointer迭代器是一种行为类似指针的对象,指针的最常见最重要的是内容提领(取出指标所指物体的内容)和

2015-05-14 23:01:55 456

原创 new 、operator new 和 placement new 区别

new: new operator,不能被重载,行为总是一致的。它先调用operator new分配内存,然后调用构造函数初始化那段内存。operator new:可以重载,但是不能在全局对原型为void operator new(size_t size)这个原型进行重载,一般只能在类中进行重载。如果类中没有重载operator new,那么调用的就是全局的::operator new来完成堆的分

2015-05-14 09:38:10 373

原创 算法导论 14章 数据结构的扩张

1、动态顺序统计 顺序统计树:向红黑树的结构中添加一个size域,表示包含自身节点的当前节点的子树节点的数目。修改后可以快速支持顺序统计量操作。   1)检索具有给定排序的元素 过程OS_SELECT(x,i)返回一个指向以x为根的子树中包含第小关键字的结点的指针,即为了找出顺序统计量树T中的第i小关键字。OS_SELECT(x,i) r = size[left[

2015-05-13 08:51:23 412

原创 算法导论 16章 贪心算法

贪心算法:每一步都作出当时看起来最佳的解活动选择问题贪心算法原理贪心算法性质 最优子结构 贪心对动态规划 0-1背包问题 分数背包问题赫夫曼编码拟阵和贪心算法

2015-05-13 08:44:04 620

原创 算法导论 11章 散列表

散列表是实现字典操作的一种有效数据结构散列表是普通数组概念的推广散列表使用一个长度与实际存储的关键字数目成比例的数组来存储,根据关键字计算相应的下标。直接寻址表缺点:(1)如果U很大,要保存|U|大小的一张表T有点不实际。(2)实际存储的关键字集合K相对U来说可能很小,因而分配给T的大部分空间都要浪费掉。散列表利用散列函数K计算出槽的位置。冲突:两个关键字可能映射到同一个槽中。冲突解决方法:

2015-05-13 08:38:24 622

原创 算法导论 14章 数据结构的扩张

本章介绍了两种红黑树的扩张一,动态顺序统计秩:在集合线性序中的位置,中序遍历树时输出的位置。顺序统计树:向红黑树的结构中添加一个size域,表示包含自身节点的当前节点的子树节点的数目。(1)查找给定秩的元素OS_SELECT(x,i) r = size[left[x]]+1; //先计算x的处于的位置 if i = r //x正好是第i小的关键字

2015-05-12 21:12:19 379

原创 算法导论 15章 动态规划

动态规划与分治法区别:动态规划应用于子问题重叠的情况(子问题是递归求解的),分治法会反复求解公共子问题,动态规划将子问题的解保存到表格中,无需重新计算。动态规划应用领域: 动态规划方法通常用来求解最优化问题。这类问题可以有很多可行解,每个解都有一个值,我们希望寻找具有最优值(最小值或最大值)的解。我们称呼这样的解为问题的一个最优解,而不是最优解,因为可能有多个解都达到最优值。动态规划的步骤:刻

2015-05-12 20:29:35 490

原创 算法导论 13章 红黑树

红黑树的性质1,每个节点非黑即红。2,根节点是黑色的。3,叶节点(NIL)是黑色的。4,红节点的两个孩子都是黑色的。5,对每个节点,从该节点到其所有后代的简单路径上,均包含了同样数目的黑节点。旋转为了维持红黑树的性质,要改变某些节点的颜色和指针结构,旋转改变了指针结构。左旋:以x和y之间的链为“支轴”进行的,使得x的右孩子为y的左孩子,y的父节点为x的父节点,y的左孩子为x。代码:te

2015-05-08 21:52:33 403

原创 struct和class的比较

区别一默认的继承访问权限  struct 默认权限publicclass 默认权限private区别二     “class”这个关键字还用于定义模板参数,就像“typename”。但关键字“struct”不用于定义模板参数。建议:struct作为数据结构的实现体class作为对象的实现体

2015-05-06 09:20:08 327

原创 算法导论 12章 二叉搜索树

最坏运行时间 完全二叉树  O_( lgn)线性链       O_(n)  随机构造      O( lgn) 平均时间O_(lgn)二叉搜索树性质左子树小于双亲,右子树大于双亲二叉搜索树的基本操作所花费的时间与这棵树的高度成正比。遍历 中序遍历 O_(n)子树根在左右之间伪代码:INORDER-TREE-WALK(x)if x!=NI

2015-05-06 08:54:05 234

空空如也

空空如也

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

TA关注的人

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