摘要: 伸展树(Splay Tree)树平衡二叉查找树的一种,具有二叉查找树的所有性质。在性能上又比普通的二叉查找树有所改进:普通的二叉查找树在最坏情况下的查找操作的时间复杂度为O(n)(当二叉树退化成一条链的时候),而伸展树在任何情况下的平摊时间复杂度均为 O(log2n). 特性 旋转 伸展树实现O(l 阅读全文
posted @ 2015-08-05 22:51 农民伯伯-Coding 阅读(3305) 评论(1) 推荐(0) 编辑
摘要: 二叉搜索树是一类特殊的二叉树,它满足中序遍历得到的结果为序列的顺序排序的特点,在对数据排序、查找等方面有着非常重要用途。性质二叉搜索树满足二叉树的所有性质,同时有着自身的特性。中序遍历的结果为序列的顺序排序节点的左子节点(以及左子树中所有元素)值小于节点的值;节点的右子节点(以及右子树中所有元素)值... 阅读全文
posted @ 2015-08-05 11:01 农民伯伯-Coding 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 树是一种非常重要的数据结构,而二叉树是树的最基本的形式。像其他高级的数据结构,如 二叉查找树、平衡二叉树、AVL树、红黑树、splay 树(伸展树)、笛卡尔树、Treap、SBT树等都是以二叉树作为基础。   阅读全文
posted @ 2015-08-04 22:27 农民伯伯-Coding 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 笛卡尔树是一种同时满足二叉搜索树和堆的性质的数据结构。 可在一个数组上构造出来(时间复杂度可以达到O(n))。树中节点有几个属性, key(节点元素的大小)、index(节点在原数组中的索引)、left(左子节点)、right(右子节点)、parent(父节点)。性质树中的元素满足二叉搜索树性质,要... 阅读全文
posted @ 2015-08-04 18:54 农民伯伯-Coding 阅读(4780) 评论(0) 推荐(3) 编辑
摘要: 二叉堆是一种用类似二叉树的形式构建的具有堆的性质的数据结构。堆的性质: (以最大堆为例)堆顶元素为最大元素每个节点的元素值都大于其子女节点的元素值用数组实现堆,建堆的时间复杂度为 O(n)用堆进行排序,时间复杂度为 O(n*lgn)二叉堆实现:(c++)#define MAX_HEAP_SIZE 1... 阅读全文
posted @ 2015-08-04 16:35 农民伯伯-Coding 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 1.安装必要的软件sudo apt-get install ctags cscope python-dev build-essential 2.升级vim到7.4方法一:手动编译(1) 卸载原有的Vimsudo apt-get remove vim vim-tiny vim-common vim-r... 阅读全文
posted @ 2015-07-09 13:05 农民伯伯-Coding 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 使用vim的插件管理器 pathogen进行vim的插件管理。1.pathogen管理插件 pathogen让每个插件占有一个单独的目录,解决了文件分散的问题。安装完pathogen之后,只需要在~/.vim/目录下新建一个目录~/.vim/bundle/,并将要安装的所有插件放在~/.vi... 阅读全文
posted @ 2015-07-09 10:16 农民伯伯-Coding 阅读(1963) 评论(0) 推荐(0) 编辑
摘要: static有两种用法:一是面向过程程序设计语言中的static,用于普通变量和函数,不涉及类;二是面向对象程序设计中的static,主要涉及static在类中的作用。面向过程设计中的static非static全局变量非static全局变量保存在内存中程序的数据段,生存期为程序的整个生存期,有效范... 阅读全文
posted @ 2015-07-06 20:56 农民伯伯-Coding 阅读(995) 评论(0) 推荐(0) 编辑
摘要: 1. 安装nfs服务软件(1)服务器端$sudo apt-get install nfs-kernel-server rpcbind(2)客户端 (可以省略)$sudo apt-get install nfs-common2. 服务器端配置创建共享目录, mkdir -p /home/jason/n... 阅读全文
posted @ 2015-06-20 18:36 农民伯伯-Coding 阅读(449) 评论(0) 推荐(0) 编辑
摘要: poj 2709 painter题目要求给定涂料,每套涂料含有3-12种不同的颜色(开始时候给定选用的颜料套的颜色数目),且一套涂料中每种颜色均有50ml。且一套涂料中的任意三种不同的颜色各X ml混合都可以获得 灰色颜料 X ml。现在给定需要的各个颜色的数量(这些颜色都属于同一套颜料),以及需要... 阅读全文
posted @ 2015-06-07 21:43 农民伯伯-Coding 阅读(544) 评论(0) 推荐(0) 编辑