heap不属于STL容器,它扮演者priority queue的助手。heap是一种完全二叉树,可由数组来实现,但heap需要动态改变大小,所以最终选择了vector作为底层容器。STL默认提供最大堆。
题外话:分析heap的源码就能清楚的理解堆这种数据结构的例程,而STL库代码的质量又很高,所以看堆的代码,STL源码是一个很好的选择。
为了满足完全二叉树的性质,新插入的元素一...
分类:
其他好文 时间:
2014-07-22 23:04:53
阅读次数:
363
现在在自学Android,学完初级内容,打算深入学习的时候,却有师兄跟我说Android到用的时候学就可以了,平时不必花太多时间,有时间不如研究研究算法。本来我打算把《Android4 高级编程》这本书看完,然后再把Linux以前没看懂的部分再学一遍,但是因为老师和师兄们都很强调算法,现在我也有点迷茫,不知道到底该干什么,不知道是不是该继续把Android学下去,完成我的计划,还是要去研究算法(我对算法兴趣不是很大)。
算法真的是比其他一切都重要吗?...
分类:
其他好文 时间:
2014-07-22 23:04:14
阅读次数:
283
1, insert into test select * from
test;(造测试数据)2, create table b as select * from a;
(创建表结构一样的空表,数据可同上插入数据)3,linux系统下让sqlplus支持历史命令回调在linux中实现上述功能,需要.....
分类:
数据库 时间:
2014-05-01 21:33:20
阅读次数:
447
Linux下Rsync+inotify-tools实现数据实时同步中有一个重要的配置就是设置Inotify的max_user_watches值,如果不设置,当遇到大量文件的时候就会出现出错的情况。一般网上修改方法就是直接修改文件:/proc/sys/fs/inotify/max_user_watch...
分类:
系统相关 时间:
2014-05-01 21:22:57
阅读次数:
715
开发环境:操作系统: (uname -a output)Linux ubuntu
3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64
x86_64 GNU/LinuxJDK 版本 : (java -ve...
分类:
编程语言 时间:
2014-05-01 20:46:54
阅读次数:
565
一、 序言
上一篇文章中,给出了 trie 树的一个实现。可以看到,trie 树有一个巨大的弊病,内存占用过大。
本文给出另一种数据结构来解决上述问题---- Ternary Search Tree (三叉树)
二、数据结构定义
Trie 树中每个节点包含了 26 个指针,但有很大一部分的指针是 NULL 指针,因此浪费了大量的资源。
一种改进措施就是,以一棵树来代替上述的指针数组。...
分类:
其他好文 时间:
2014-05-01 17:49:30
阅读次数:
326
题目:
Given a sorted (increasing order) array, write an algorithm to create a binary tree with minimal height.
翻译:
给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树。
思路:
要使二叉树的高度最小,则要尽量使其左右子树的节点数目相当,自然就考虑到将其构造成为二叉排序树,且将有序数组的中间大的数作为根节点,这样得到的二叉树的高度便是最小的。...
分类:
其他好文 时间:
2014-05-01 17:48:45
阅读次数:
321
安装Everpad
sudo add-apt-repository ppa:nvbn-rm/ppa
sudo apt-get update
sudo apt-get install everpad...
分类:
系统相关 时间:
2014-05-01 17:35:52
阅读次数:
490
以README文件为实例,详细介绍github的使用过程
请先下载git,然后配置以下内容: ( 我的系统是debian,其他版本的UNIX/Linux有差别),windows的暂时不清楚。
(一)
1.先下载git
$ apt-get install git-core
2.创建git用户名(Username),首先你要告诉git你的名字,这样它才能正确的给你提交的的东西...
分类:
其他好文 时间:
2014-05-01 17:26:22
阅读次数:
311
题意:
给定n长的数组(下标从1-n)(n个人的身高,身高各不相同
问:对于第i个人,他能看到的左边最矮的人下标。(如果这个最矮的人被挡住了,则这个值为0)
还有右边最高的人下标,同理若被挡住了则这个值为0
输出n行,每个人左右2边的下标。
单调队列,对于 front - rear 的队列(注意出队都是在rear,入队也是在rear)
当加入元素x,若这队列是单调递增的,显然q.fro...
分类:
其他好文 时间:
2014-05-01 17:21:43
阅读次数:
429