From e7c7132261e949bb7d662a0731e916cf96ab3994 Mon Sep 17 00:00:00 2001 From: noah Date: Sat, 9 Apr 2022 22:30:22 -0500 Subject: [PATCH] Insertion Correction and Display() adds color --- .../CMakeFiles/RBlib.dir/src/Red-Black.cpp.o | Bin 9944 -> 11488 bytes build/CMakeFiles/main.dir/src/main.cpp.o | Bin 5712 -> 6672 bytes build/libRBlib.a | Bin 10316 -> 11862 bytes build/main | Bin 27960 -> 28160 bytes src/Red-Black.cpp | 86 ++++++++++-------- src/Red-Black.h | 2 +- src/main.cpp | 9 +- 7 files changed, 58 insertions(+), 39 deletions(-) diff --git a/build/CMakeFiles/RBlib.dir/src/Red-Black.cpp.o b/build/CMakeFiles/RBlib.dir/src/Red-Black.cpp.o index 282fd2e6fd63454d877223f0905d2a280f751b6f..dc7142b0f51707a30ddc5674e32b5c3b45c8b49f 100644 GIT binary patch literal 11488 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 diff --git a/build/CMakeFiles/main.dir/src/main.cpp.o b/build/CMakeFiles/main.dir/src/main.cpp.o index 15b3324baf7d30129b6d5bb3ad404897395d6b1b..4dc8252d4424c4180aaf0233a8c29b5d75ca4698 100644 GIT binary patch delta 2380 zcma)-eQZ-z6u{r@2eez)y|;F}bsy{v<~A61D;qKsHrByHE0b)j7!_tMU56cGgYIE4 zk<5W1sW7s6BI+MT_lJaN444@eKX4HT;U8TS6Bhqbg9+duLW~BD$vo%wbzTM}p5&f; z@9%uvbKkq~zUft?^`lklbe=RX&3x1>l}N>7>&x6OoVv03pYU(;L7e4M1s#{_7BDqdc1#^7VnSi@kpPx zJNCk$){_|6qqRp8x)$+zy^_C2k0sE9`wsL=b91by$0|vCwb!lEX=eSyB7MRRnQ`)} z)e0%|61Z-@+!4S+y0MXrn|1Oxp7%=8%m%>1=6zlKXtY_4m+W z+m!8-ylop+ld6TAwvvgDZJXIpr(Pc&*sn|Br#tn&!CS*GnsEE(D37a;^>_CLqyH~96b{v5^dn&m-BQ1J%RqN* zgRd3jtU_lUp0n2WdP1GPFf7k{%`8c~AeE)EeZaC+b^wMQ>d=s}P1hm^8UUBM!-<_9P3R1b1 zoC3-59lyyTWy3n(tt{=5-c3O=QjJp~;u z)%1o1dR-MP1Y<6Bg+>PzWxiA#E7&p@e1`Wz3Paz)`Y<#Gid$XLaGy~6Lo5tE0Ud7D zbP88>SFpEX3@4vkj3+0v(~xqj_DQ48TDa{hWfytvw+wcNv#+V#{B~o_Q@9QZy{G~> pm|vZL4gc39GxTAg6k)?-mtSq4v~wW+47c;w+V2<{X27?k^k1C^Tq*zn delta 1531 zcmZ`(U1%It6rMY?o84J=XJ__j?oMO7*%*>-wwm+@Yf#fnNXV9yn5~V7wiF@3v}%Jk zl|EE76on-gvK)%O_$J!)!Mf~A5lbtvT12J$)S!`8@S!$>&6}bS&$%-buK_=pbLM{M zJLjHz=iXV^b92W+kuM~b4Gf640i{*hQrlNZSvXAL<4(ATCY~R6h4|M|72!t6vRO@0F{+-=z}evr8e0CWhuq0k^u+ILn6E_TpusnEUbu z`sa_hhutGf`q?`|hp_y`EF?7oq zz!H;G4v|-3EZo{QV%%ri8jBf4*JyK%+@N6&8d3KFROIkkhGzJBt3e6>K@3N#5>oO| zZ+V!-;C2g#&PYl-s3=fzvg{qGM0ofkRGCm{NwZIAyz_e;w<}cJ!=mq1rYHrKw$DS< z_uJs-2#0Yy1iwTwY>-B*BCIa#v*1R%^t|fH-xb_@!d?{ib76lFc2!snUeGx+p&8|@ zQ`mm8a82)Jz3^0QYamFt#-jR5a_$?CuF?n8ZzRowlICmNBf{pnni8MDc+kU- z|HB*pZc!asZ+m>Vm>?q+YLybUO8i5>l6;~hMYl=OT|Q4PFY!aLRniTA@-1iV8(z&D_D@mSw_d>N?y>wcwYs(p?VS4?4>AluvS`XrV|EuMoFVmx5Qt|5A@K&a%T~ZY&M6z%#Q&c}y;a;ZS z8mICIsztz@Y>&FE!trcBUdhGmK5N>SEO-i({E3o=2Ho}}uxy+9Rn3c};nhr@Jq{M< z>N19TCwmksoNxbQ^CYOJKVWc0gUJs-4O8!Ea1m2Spoys_eFa1y5o^Zr=G4<*<+y%# zqm#OwXLC@=arH0FU%$y}P(x9$$GuSJdA0~mo9n&)&fXW?htzep=udq?G~l&h!;?-a j+lD_zLfM~=u4e+?a7y~L-`6PAoxS=^zrts*=H&kYs4;HQ diff --git a/build/libRBlib.a b/build/libRBlib.a index 27143a9628a8b889be53fbde5946fc5863a71536..a3e7b0b7417c6b7dac7eb58ef772b27ed24fe8bb 100644 GIT binary patch literal 11862 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 Cag=fZ literal 10316 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 diff --git a/build/main b/build/main index 4d9d446ea417476156785acecf4d54a85dbbbaa6..556cba5a2ee8f5fab964333aa39aec81b3710cd6 100755 GIT binary patch delta 8595 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 P?OB>7JzBudElv6t3_4{g diff --git a/src/Red-Black.cpp b/src/Red-Black.cpp index cc12cb5..8c1a858 100644 --- a/src/Red-Black.cpp +++ b/src/Red-Black.cpp @@ -17,8 +17,9 @@ RB::RB() root = nullptr; } -void RB::ins(Node* node, int key){ - Node* newnode = new Node(key); +void RB::ins(Node* node, Node* newnode){ + int key = newnode -> get_key(); + std::cout << "Inserting " << key << std::endl; if (root == nullptr){ root = newnode; newnode -> set_color(black); @@ -30,7 +31,7 @@ void RB::ins(Node* node, int key){ newnode -> set_color(red); } else - this -> ins(node -> get_lchild(), key); + this -> ins(node -> get_lchild(), newnode); } else{ if (node -> get_rchild() == nullptr){ @@ -40,16 +41,20 @@ void RB::ins(Node* node, int key){ } else - this -> ins(node -> get_rchild(), key); + this -> ins(node -> get_rchild(), newnode); } Node* p = newnode -> get_parent(); - Node* gp = p -> get_parent(); + Node* gp; + std::cout << "Inserted, but now correcting" << std::endl; while ((p != nullptr) && (p -> get_color() == red)){ + gp = p -> get_parent(); + if (gp == nullptr) + return; if (p == (gp -> get_lchild())){ //Case 1: - if (gp -> get_rchild() -> get_color() == red){ + if (gp -> get_rchild() != nullptr && gp -> get_rchild() -> get_color() == red){ //Recolor gp -> set_color(red); gp -> get_rchild() -> set_color(black); @@ -57,46 +62,50 @@ void RB::ins(Node* node, int key){ //GP is our new "newnode" newnode = gp; p = newnode -> get_parent(); - gp = p -> get_parent(); + //gp = p -> get_parent(); } //Case 2: else if(newnode == p -> get_rchild()){ newnode = p; p = newnode -> get_parent(); - gp = p -> get_parent(); + //gp = p -> get_parent(); left_rot(newnode); + //Case 3 + p -> set_color(black); + gp -> set_color(red); + right_rot(gp); + } + } //end if p = lchild of gp + else{ + //Case 1: + if (gp -> get_lchild() != nullptr && gp -> get_lchild() -> get_color() == red){ + //Recolor + gp -> set_color(red); + gp -> get_lchild() -> set_color(black); + p -> set_color(black); + //GP is our new "newnode" + newnode = gp; + p = newnode -> get_parent(); + //gp = p -> get_parent(); } - //Case 3 - p -> set_color(black); - gp -> set_color(red); - right_rot(gp); - } //end if p = lchild of gp - - if (gp -> get_lchild() -> get_color() == red){ - //Set colors - gp -> get_lchild() -> set_color(black); - gp -> get_rchild() -> set_color(black); - gp -> set_color(red); - - newnode = gp; - p = newnode -> get_parent(); - gp = p -> get_parent(); + //Case 2: + else if(newnode == p -> get_lchild()){ + newnode = p; + p = newnode -> get_parent(); + //gp = p -> get_parent(); + left_rot(newnode); + //Case 3 + p -> set_color(black); + gp -> set_color(red); + right_rot(gp); + } } - - else if (p -> get_lchild() == newnode){ - newnode = p; - p = newnode -> get_parent(); - gp = p -> get_parent(); - right_rot(newnode); - - p -> set_color(black); - gp -> set_color(red); - left_rot(gp); - } - this -> get_root() -> set_color(black); + //this -> get_root() -> set_color(black); } + this -> get_root() -> set_color(black); + std::cout << "Finished correcting" << std::endl; } void RB::del(int key){ @@ -133,7 +142,12 @@ void RB::display(Node *node, Trunk *prev, bool left){ } showTrunks(trunk); - std::cout << " " << node -> get_key() << std::endl; + std::string col; + if (node -> get_color() == red) + col = "R"; + else + col = "B"; + std::cout << " " << node -> get_key() << "(" << col << ")" << std::endl; if (prev) { prev->str = prev_str; diff --git a/src/Red-Black.h b/src/Red-Black.h index a401965..903bc1d 100644 --- a/src/Red-Black.h +++ b/src/Red-Black.h @@ -23,7 +23,7 @@ class RB public: RB(); - void ins(Node* node, int key); + void ins(Node* node, Node* newnode); void del(int key); void display(Node* node, Trunk* prev, bool left); Node* get_root(); diff --git a/src/main.cpp b/src/main.cpp index 3bc39e3..7c72409 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -10,9 +10,14 @@ int main(int argc, char *argv[]) std::vector init_keys {41, 38, 31, 12, 19, 8}; RB tree = RB(); - for (int k : init_keys) - tree.ins(tree.get_root(), k); + std::cout << "Inserting initial keys from Part a..." << std::endl; + for (int k : init_keys){ + Node* newnode = new Node(k); + tree.ins(tree.get_root(), newnode); + tree.display(tree.get_root(), nullptr, false); + } + std::cout << "After insertion" << std::endl; tree.display(tree.get_root(), nullptr, false); std::vector insert_new {834, 807, 512, 882, 127, 675, 75, 216, 822, 249, 114, 689,