自定义博客皮肤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)
  • 收藏
  • 关注

原创 红黑树 学习笔记4 - 删除

接上,算法导论13.4 删除与 nnn 个节点的红黑树上的其它基本操作一样,删除一个结点要花费 O(logn)O(logn)O(logn) 时间。与插入操作相比,删除操作要稍微复杂一些。 \quad \quad 首先来完成一些辅助程序。 \quad RB-TRANSPLANT( T,u,vT,u,vT,u,v ) 把以 uuu 为根的子树 替换为 以 vvv 为根的子树。 \q...

2018-03-31 23:48:46 148

原创 2018-3-31 关于最近某些工作的感想

最近两周的某一项工作就是把 线段树 不断地抽象,然后封装起来,并且逐步引入新的模式来提高效率。 这里稍作总结。 \quad \quad 一开始的版本: https://blog.csdn.net/rsy56640/article/details/79342325 \quad 没有泛型,不支持函数设置,只有区间求和查询,还有单点值修改的操作。 \quad \quad 稍微调...

2018-03-31 17:18:09 131

原创 红黑树 学习笔记3 - 插入

接上,算法导论13.3 插入结论:我们可以在 O(logn)O(logn)O(logn) 时间内完成一棵含 nnn 个结点的红黑树中插入一个新结点。将结点 zzz 插入树 TTT 大致做法: \quad 1. 首先像一棵普通的 BST 一样,确定 zzz 在树 TTT 中的位置。 \quad 2. 然后将 zzz 着为红色。 \quad 3. 为了保证红黑树性质能继续保持,我们调用一...

2018-03-24 12:53:29 231

原创 RB_Tree 项目启动

目前的想法是: 1.理论看算法导论, 2.然后实践 \quad \quad i) 按照STL源码剖析来写, \quad \quad ii) 之后如果有时间再按照自己的风格写一个版本。。不过现在遇到了一些困难, 算导和STL上很多实现手法是不一样的,搞得我有点懵逼。。比如NIL 还有比如Alloc,还有iterator之类的目前还没搞出来。。 现在都有点想同时写两个版本了...

2018-03-24 10:55:59 138

原创 STL源码剖析 之 红黑树 - 1

做了一点微小的工作。github链接: https://github.com/rsy56640/rsy_little_lib/tree/master/library_for_algorithm/RB_Tree/RB_Tree_1本来想按照自己的风格写的,但是还是学习一下type_traits,Alloc等玩意吧。。 感觉就是把SGI-STL-2.91.57临摹了一遍, 不过有个地方很...

2018-03-22 11:07:42 163

原创 红黑树 学习笔记2 - 旋转

接上, 算法导论 13.2 旋转当在某个结点 xxx 上做 左旋 时,假设它的右孩子是 yyy 而不是 T.NILT.NILT.NIL ; xxx 可以为其右孩子不是 T.NILT.NILT.NIL 结点的树内任意结点。左旋以 x 到 y 的链为”支轴”进行。它使 y 成为该子树新的根结点,xxx 成为 yyy 的左孩子,yyy 的左孩子成为 xxx 的右孩子。pseudocode ...

2018-03-21 23:29:20 168

原创 红黑树 学习笔记1 - 基本性质

本系列为算法导论 第13章 红黑树 学习笔记RB_Tree是一颗BST,满足: 1. 结点颜色为红或黑。 2. 根结点为黑色。 3. 每个叶结 (NIL) 点是黑色。 4. 不存在2个连续的红色结点 5. 对于任一结点,从该结点到其所有后代叶结点的简单路径上,均包含相同数目的黑色结点。先做一些人为的约定: \quad 树根的高度为1; \quad 叶结点指的是 NILNILN...

2018-03-21 22:33:15 275

原创 POJ 3368 Frequent values - (线段树)

题目链接:http://poj.org/problem?id=3368 题目大意:不减数列,求出区间内频率最大数的频率。 思路:把相同的数合并,保留频率,放到线段树里面,求max; 对于给出的区间,先把两头去掉,再对中间部分用线段树查询max。 (有点边界还是略复杂的,比如给出的区间属于同一个区间,或者相邻区间)#include <stdio.h> #include...

2018-03-19 21:17:27 193 1

原创 POJ 3264 Balanced Lineup - (RMQ)

题目链接:http://poj.org/problem?id=3264RMQ水题#include <stdio.h> #include <vector> #include <algorithm>using namespace std;//POJ 3264 Balanced Lineupclass SegmentTree { ...

2018-03-19 19:03:49 207

原创 树状数组模板(水)

最终版本: 2018-3-12 树状数组比线段树简单,但是由于是Abel群,所以可以做一些优化工作, 最后写起来比线段树多一些吧。 树状数组模板库: https://github.com/rsy56640/rsy_little_lib/tree/master/library_for_algorithm/Binary_Indexed_Tree 线段树模板库: https://github...

2018-03-10 16:38:50 149

原创 Principle of Compiling first assignment Cpp version

作业描述: 支持2种操作: 1. 赋值 a = 4.0; b= a* 2.2; 2. 打印 print(a); print(b-7);(突然意识到自己写的好像是 跳转表 的实现,不过人家用的是goto,我是标记一下然后continue)2018-3-11https://github.com/rsy56640/Assignment-in-WHUISS/tre...

2018-03-10 11:20:43 168

空空如也

空空如也

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

TA关注的人

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