一棵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
转自: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
条款01:主要是告诉大家要将C++看作由C,C with classes、templates
C++ 、STL四个次语言组成的联邦,并极其简略的介绍了每种次语言的特点。
分类:
编程语言 时间:
2014-05-07 13:36:32
阅读次数:
265
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
来源:http://poj.org/problem?id=2121
Inglish-Number Translator
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 4475
Accepted: 1747
Description
In th...
分类:
其他好文 时间:
2014-05-06 23:29:32
阅读次数:
419
G++ 2.91.57,cygnus\cygwin-b20\include\g++\stl_queue.h 完整列表
/*
*
* Copyright (c) 1994
* Hewlett-Packard Company
*
* Permission to use, copy, modify, distribute and sell this software
* and its document...
分类:
其他好文 时间:
2014-05-06 22:22:55
阅读次数:
402