一棵AVL树是其每个节点的左子树和右子树的高度最多差1的二叉查找树。实际高度只比logN多以一点,和普通二叉查找树相比,平衡二叉搜索树一般而言搜寻时间可节省25%左右(STL源码剖析P203)。
只有那些从插入点到根节点的路径上的节点的平衡可能被改变,因为只有这些节点的子树可能发生变化。
把需要重新平衡的节点称为a(左右子树高度差大于1)。注意,确定这个节点很重要,否则无法确定...
分类:
其他好文 时间:
2014-05-10 09:57:21
阅读次数:
406
看似dp,但是数据太大,不过n很小,可以暴力解决。
由于30个数组合情况太多,所以可以分成两边,首先预处理前n/2个数能组成哪些数,并且最小消耗多少砝码,map保存下来。
然后处理右边能组合成什么数,相加就够了。
注意这样会漏掉两种情况,就是光一边就能组成最终答案的(因为map没有存数也是0),特殊处理一下就行。
#include
#include
#include
#inc...
分类:
其他好文 时间:
2014-05-10 09:16:39
阅读次数:
245
双端队列(deque容器类):#include与vector
类似,支持随机访问和快速插入删除,它在容器中某一位置上的操作所花费的是线性时间。与vector不同的是:deque
还支持从开始端插入数据:push_front() 。此外deque 不支持与vector 的capacity() 、res...
分类:
其他好文 时间:
2014-05-09 18:19:39
阅读次数:
404
转自:http://blog.csdn.net/pathuang68/article/details/7526305某网友问:“map中怎么设置多个key值进行排序?”在C++中,map是典型的关联容器或者叫映射容器(associative
container),其中的每一个元素都是由key-val...
分类:
其他好文 时间:
2014-05-09 16:41:26
阅读次数:
492
西方有句谚语:不要重复发明轮子!STL几乎封装了所有的数据结构中的算法,从链表到队列,从向量到堆栈,对hash到二叉树,从搜索到排序,从增加到删除......可以说,如果你理解了STL,你会发现你已不用拘泥于算法本身,从而站在巨人的肩膀上去考虑更高级的应用。排序是最广泛的算法之一,本文详细介绍了ST...
分类:
其他好文 时间:
2014-05-07 18:11:56
阅读次数:
465
G++ 2.91.57,cygnus\cygwin-b20\include\g++\stl_stack.h 完整列表
/*
*
* Copyright (c) 1994
* Hewlett-Packard Company
*
* Permission to use, copy, modify, distribute and sell this software
* and its do...
分类:
其他好文 时间:
2014-05-07 07:40:07
阅读次数:
322
来源:点击打开链接
可以模拟过,不过练习这个题的目的是学习stl中的bitset,一个神奇的二进制容器.
和vector/MAP等容器一样,bitset具备stl库函数的几乎所有特性,同时加入了一些自己的东西,对二进制处理十分便利,尤其是在找零和找一的方面.
ps:遍历的话,bitset默认是从后往前遍历的.所以不要自己再倒过来了.
一些库函数及用法的实例:
典型的bitset初...
分类:
其他好文 时间:
2014-05-07 04:36:52
阅读次数:
331
一个依靠STL vector的接口进行申请和回收管理的内存池类( c++ 封装)...
分类:
编程语言 时间:
2014-05-07 04:02:32
阅读次数:
381
1、摘要
STL文件是快速成型设备中常用的文件格式,随着3D打印技术的发展,STL格式文件的应用日益广泛。Python语言具有丰富和强大的类库,其语言简洁而清晰,因而Python语言越来越受欢迎。PLY是具名的LEX、YACC的Python版本,本文介绍了利用PLY模块对STL文件进行基本信息统计....
分类:
其他好文 时间:
2014-05-04 20:45:21
阅读次数:
465
扩展封装暴雪哈希算法(blizard hash algorithm),并与STL map进行操作性能上的比较...
分类:
其他好文 时间:
2014-05-04 18:39:07
阅读次数:
450