“鱼小白,快点,陪我回去!这个帮我拿着!”,小樱嘟着嘴面向周思敏,将粉红色的小书包递给周思敏。
可她毕竟面对的不是鱼小白,而是这个社会阅历相当丰富的周思敏。
“我?算了吧,我还有事,今天要去社团,你先回去吧”,周思敏出示着前桌同学的邀请函,拖着胖嘟嘟的身子准备向教室门口走去。
“呵呵,那你今天别想来我家,来了,我也把你赶出去!看你怎么办!哼!”,小樱翘着嘴,歪着脑袋,用食指指向周思敏,似乎要对周思敏施以严刑。
周思敏自然不会硬抗,毕竟他还没弄清楚鱼小白的身份,除了小樱家,已别无去处。他掂量了一会儿,走到小樱的旁边,笑眯眯地说着:
“要不这样?你跟我一起去怎样?参加社团,用不了多长时间的?”
小樱摆出一副不屑的模样,
“什么社团呀?我妈可是让我监督着你呢?说是叔叔说你很调皮,真不知道会惹出什么事情来。”
“程序设计社团,嘿嘿”,周思敏不知所措地挠了挠脑袋,转身将小樱的书包背上,“别想了,先去吧”
“就当去玩喽”,小樱斜着眼看了一下周思敏,“带路!”
“没问题”,周思敏走在小樱的前面,偌大的身躯竟然会被一个女孩欺负,更何况都是学渣!
他们穿过教学楼的走廊,穿过种着几颗樱桃树的花园,西边的太阳照在他们胖嘟嘟的小脸蛋上,让本是通红的脸蛋变得像柿子一样橙黄。
只见前面一个穿着蓝格子连衣裙、身材匀称的小女孩走过来,
“嗨,又让你小弟给你干活了?”,她伸出纤细的右手,向小樱打着招呼。
“他自愿的,什么叫我让他呢”,小樱瞥了一眼周思敏,微笑地向那个女孩说着。
“要不借我用一下?正好,我书桌上还有一大堆学习书籍呢,嘿嘿”
“我们还有事,改天吧”
“那改天哦”,女孩说完,朝着花园的另一个方向走去。
周思敏有些好奇地向后看去,矫健的步伐、高挑的身材、纤细而又柔弱的背影,不知不觉中陷入沉思。这......女神呀!而且看气质,似乎有点文艺气息。不说别的,单纯这一点来说,就足够让周思敏拜倒在她的石榴裙下。
“看什么看,还不带我去!”,小樱放大嗓子说着。
“呵......你看看你......”,周思敏不屑地迈着步子向前走着。
“看我什么!”,小樱有些生气地说道。
“没看你什么,马上就到了”
“呵呵”,小樱跟在后面,拍了以下周思敏的脑袋。
901教室布满了各种电脑以及电脑硬件,周思敏往前径直地走去,只见一个戴着黑色大圆眼眶的小男生在电脑桌前面敲打这键盘,空悠悠的教室不断回荡着噼里啪啦的机械声。
周思敏出于礼貌,敲了敲侧开着的教室门,
“咚”
“咚”
“咚”
那个男生依然在那敲打着键盘。
“咚”
“咚”
“咚”
小樱可等不了那么久,一脚把门踢开,大喊着:“你笨呀,鱼小白!没见人家戴着耳机的嘛?”
周思敏有些不好意思地低着头,小声嘀咕着:“这不是没仔细看吗?”
“进去呀,还愣着干嘛!”
周思敏偷瞪了一眼小樱,才往里面走去。
“嗨,同学你好”,周思敏走到那台电脑桌旁边,拍了拍那名男生的肩膀。
“嗯?请问你是?没看到我正在忙吗?”
“我们是来参加社团的”,周思敏指着身后的小樱,“就我们两个”
“先等一下吧”
周思敏将邀请函摆放在电脑桌的右上角,有些好奇地盯着显示屏,小樱跟着偷瞄起来。
“这怎么这么眼熟?”,
周思敏眯着眼皮,眼前一片模糊,
“这是?这是?”,他一遍又一遍地回想毕生见过的画面,
“难道这是......”
“难道这就是传说中面试的葵花宝典之一,红黑树!”,竟情不自禁地叫出声来。
“你叫什么叫,吓我一跳”,小樱踢了鱼小白一腿,看样子是真的被他吓住了。
周思敏自是不在意,眼睛瞪地极大,他有种莫名地兴奋感,这种兴奋感是来自他经历过的一个面试。
当时,两个面试官坐在他的对面,面带微笑着看着他,当时他有些慌张,毕竟面试只准备了一周。
面试官指着前面摆放着的一张面试题。
周思敏走向前,拿着试题卷仔细地掂量了一番,翻来覆去,只有一道大题呀。
他仔细地盯着那个由红黑相间的圆连线组成的树层结构的彩色图,
“哇擦擦,这不就是我刚才在路上看的内容吗?简直不能再幸运了”,周思敏露出幸福的微笑。开始思考起来。
“根节点是黑色,嗯”
“叶子节点是黑色,嗯”
“红色节点的两个子节点都是黑色,嗯”
“任意节点到其每个叶子节点的所有路径上分布着相同的黑色节点”
“哇擦擦,红黑树呀,就是了!”,周思敏有些兴奋地默念道。
而题目是让他写出红黑树的插入和查询操作,定义数据结构,这还不简单,四年的老司机,这个都不会的吧,白开这么多年车了呀!
他有些癫狂地抄起家伙写了起来:
“
定义数据结构:
Struct node {
Enum {
Int Red,
Int Black
}color,
Int value,
Struct* Node left=null,
Struct* Node right=null,
Struct* Node parent=null
}Node
Struct BinaryTree {
Node* rootNode
}BinaryTree
int main(){
BinaryTree *bt;
Node rootNode ={
Black,
12,
null,
null
}
bt->rootNode =&rootNode;
Return 0;
}
bool insert(BinaryTree &bt, Node *node){
If(bt->rootNode == null){
Return false;
}
Int flag =0;//0:left;1:right
Node *tmpNode = bt->rootNode;
While(tmpNode)
{
If(tmpNode->value > Node->value){
If(tmpNode->left == null){
flag = 0;
Break;
}
tmpNode = tmpNode->left;
}else if(tmpNode->value < Node->value){
If(tmpNode->right == null){
flag = 1;
Break;
}
tmpNode = tmpNode ->right;
}else{
Return false;
}
}
node ->color = RED;
Node* uncleNode;
If(tmpNode -> color == BLACK){
If(flag == 0){
tmpNode->left = node;
}else if(flag == 1){
tmpNode->right = node;
}
Return true;
}else if(tmpNode -> color ==RED){
If(flag == 0){
uncleNode = tmpNode->right;
}else if(flag == 1){
uncleNode = tmpNode->left;
}
If(uncleNode->color == RED){
tmpNode->color=BLACK;
uncleNode->color=BLACK;
If(flag == 0){
tmpNode->left = node;
}else if(flag == 1){
tmpNode->right =node;
}
Return true;
}else if(uncleNode->color == BLACK){
If(flag == 0){
Node* tparent;
tmpNode->parent->left = tmpNode->right;
tmpNode->right = tmpNode->parent;
tparent = tmpNode->parent->parent;
tmpNode->parent ->parent = tmpNode;
tmpNode->parent = tparent;
tmpNode->left = node;
tmpNode->color=BLACK;
tmpNode->right->color=RED;
Return true;
}else if(flag == 1){
Node* tparent;
tmpNode->right = node->left;
tparent=tmpNode->parent;
node->left =tmpNode;
tparent->left = node;
node->parent=tparent;
tmpNode->parent = node;
Return true;
}
}
}
}
”
他回想起来,确实是这样,看着眼前苦思冥想的小男生,周思敏终于忍不住了,他拍了下那个小男生,一行一行代码地指示着,丝毫没有遗漏。
“滴滴”
“
主人,主人,恭喜获得10点经验.
当前经验:
语文:1
数学:17
英语:0
体育:0
记忆力:0
离系统升级还有982个经验点,
加油哦!升级可解锁学霸礼包哦!
”
旁边的小樱有点惊呆地看着,似乎眼前的这个人不像是她过去见到的那个鱼小白了!