OI记忆口诀
2015-05-09 00:13
155 查看
splay_rotate:
y正x反y正爹,yx、xz、x反y,d2非根z正x,别忘y要update。
splay_splay:
inline void rotate(splay_node *x){ splay_node *y,*z;int d1,d2; d1=get_parent(x,y);//三个结点扔过来同时统计d值 d2=get_parent(y,z); if(y->ch[d1]=x->ch[d1^1]) y->ch[d1]->fa=y;//y正x反y正爹 y->fa=x;x->fa=z;x->ch[d1^1]=y;//yx,xz,x反y if(d2!=-1) z->ch[d2]=x;//d2非根z正x y->update();//别忘y要update return; }
y正x反y正爹,yx、xz、x反y,d2非根z正x,别忘y要update。
splay_splay:
inline splay_node * splay(splay_node *x){ pushdown(x);//上来别忘pushdown while(1){//循环走起带你飞 splay_node *y,*z; int d1=get_parent(x,y);//d1是根我们break if(d1==-1) break; int d2=get_parent(y,z);//d2是根rotate if(d2==-1){rotate(x);break;} if(d1==d2) rotate(y),rotate(x);//如果相等就yx else rotate(x),rotate(x);//如果不等就xx } x->update();return x;//最后一定update ,把x记得扔回去 }
d1是根我们break,d2是根rotate,如果相等就yx,如果不等就xx,上来别忘pushdown,最后一定update。
相关文章推荐
- 技术人员谈管理之九大项目管理记忆口诀
- 键盘数字键上的符号记忆口诀
- C 语言运算符优先级(记忆口诀)
- VS快捷键大全(总结了一些记忆的口诀)(转载)
- usb1.1包的快速记忆口诀
- 算符优先级 记忆口诀
- java运算符优先级记忆口诀
- 摘录的英语记忆小口诀
- 信息系统项目管理师知识记忆口诀
- 记住三句话,就会用双拼(韵母键快速记忆口诀)
- 动词后加to do 和 doing的记忆口诀
- 设计模式记忆口诀
- java运算符优先级记忆口诀
- java运算符优先级记忆口诀
- C 语言运算符优先级(记忆口诀)
- VS快捷键大全(总结了一些记忆的口诀)
- c 操作符 优先级 口诀记忆
- 犯罪构成三层次记忆口诀 zt
- 时间格式yyyy-MM-dd HH:mm:ss的记忆口诀
- IDLE & IPython & 离线文档 & 优先级记忆口诀心法