From 8c98d5cc42528589cea26e6f92ec314f3b4d275e Mon Sep 17 00:00:00 2001 From: Bill Jacobs Date: Mon, 6 Jun 2016 14:55:58 -0700 Subject: [PATCH] Changed createTree to set root's parent to null This changes createTree to set the "parent" field of the root node to null. --- RedBlackNode.jar | Bin 43546 -> 43568 bytes .../btrekkie/red_black_node/RedBlackNode.java | 2 ++ 2 files changed, 2 insertions(+) diff --git a/RedBlackNode.jar b/RedBlackNode.jar index c6adc61fb40e049e1fba270ed06b5518aad9de22..7e987c9cc03202615763ce0036900ea49b5ad443 100644 GIT binary patch delta 9918 zcmY*3zt% zH)4n+5B)|eP;g-|{+8sR{_BtfnW^G|exT4dp=12{rvVkqAMULo79R}zMtF!L{;}vK z?Sgqzf+;orDb3LWp<%KO2SHuN)SwF{!lrZvj(-H?=>G_m!1umd^Ygczk%D_00UVek z)bB7O(9e{j@Rg{cF>$B>6jtifG2|U$TvSQ#RI6KKn!Lnn;9B$%)S2~^GRr$qjobltu;$Q2n7Ln%`~vN5i83c)(Z<$qW%Zl8rC0> zt9ehqcIxYcPQR`QqT-HZ&NqT<8mc-&1&F_Xm%%!^19D0E*J%CP`gmRNsQ^H=@)dS? z9yqS2Zo}Of671z*PX7MFtC>lEVliFWo`&q;JuEF(OKWqBr&4jNmBoSj>Ofo&{EY9W zdwcS(#E7gotlD1k3Rc__G9tDNx|k|iRnHgZ>7U(};>8xNE%weq0U8#^Yr_e+J-lh; zbl6D%BVeq7!16>8AonZR_HFe`>u{!6x~T^|pc9Xo{kHTW<()e~P!NmQXsxu?!`Z?C ziC}nhMz6ruaO7)Z0vQ&D{;Qr5m977-x=-Nx^oBA=<=Ajwq!uJCp4>?{P#V?@x2}Vr zqPg@7v()@91%5b2;AVSD4l%koE-w-*bzgLu6wt;d071N_sgqt0)vMWu+nf5xt_TL7 zl}#wT?CZk9VDa$6N`myd5QLsF2UDR_e`WPEnU>6?aW36KU+k)2jKNodSQMF<9Ne~M z9=tYBTwdI^6lw`RL@YnE_cRYyc5-?1^V2h}zqi;u^o~a{kZo!>S1=i^+Y4`6CV7wu zT7i#~mWSes82HOT(_!0JH@FBEM?Jm8VMZwcsid~^`I!L4^t^P*4=%>S@q_rRah}Rp zGD3cFBI$r7PyDG zUPAR#Qpp&{sV|7X&=};x4Fd! z$7kC9%A3jAM6SK40n>3>3iir15I^=O=C_?vi*s7u&mgxCCEwkkNB?$wL0sX1jtJvUxinUS(Rzt%4L0y3jGf{nT57Il}+V+3Sy{IH?E z<4K$&7UxdHK9ggj4yCS!8Fz4T%Fn6TjM`MSD!VwV59jNwT!{KbPpcW8UaMkxHf(+N#~t+zM9llF(UUb@em9YNp< zN^wSxoNwf=`g$uAb6(U;md8gu+}6EFV=B2nRj<}RFO~{d2$MVK|NSng4;6tdv0LU( zRB_zx9G@6%#eL3k`?T)qzvm6g!%NI$l!oSxh{vvG>z|C8&-FI#bMf5ogh|hBbvrCg zokX^1=-Qh*5X_ zZyH$gp6$wP*x>_tr^wjHmwJJ=CII!_vRj^8S!@F^L~CEr~^1K=!;#co|D~j995L^JV#cO&gxh0WL`C9Y)NCQq^1`BR?dcTd z+US6gNny3|PFmGYcr6`~rTz;7Wjji5F}TweOapLtl0%3F-G;|X zvp%=7L)Z-O?^@B)?Sv8FM04!CrFCxv+xuNRd$U+-(aci&vzsyLt2u++LgH>T)C(CK z-3^$sA*s(mZ*_Xw*B(}7Cov4^L)~D@SHNnv?U2H_H%PM$;TO)gS?E8&^5vY06|o%$ zno7kraaN~2g(Wf?0tiq7nc#d_q>+uw)O|d8_+Y>KK@(}9KES}mRUxFZsWZ(Zd7*5W z%(&Rr*VEwhyN!L0r61S?Ja^(<6skO{0V``gtLi_^xmiB86Amsa9!@|FFDW9jHziWhyEAF%DjHjKQja+9>*&q+gP??qmdHR=~8&8WDvD5CLx=3-u%*n_40aB&nE8AO&uDZgA_#6XE1`aV*(8V*oH*m1Ab{u&l{VS zjYb_YS!#;Z2N z7=iJ5VZ*}*2i=}|c!Rvq?C@kct(g=GI+S0~!qj%k6dSTXp0>tdo4z;2HykI(^dgNV zblSDfIe`l=h1(t?almVDw=9OxiWkvmX3wABg`F@yVRQi#(GbUwW{mtz{S;{3(yc`t zes_MuCY*2$q7X}pY!MV5K(-u@e0BNui6%`z?|1d796oa6(K1Gy6iJ3VB?U-~0zRpy z2{awQrPv5#PIg+FN-_%&!~?OACr_1A!rX?rr1ND?N_g@v^04WZ`cyYmI!<-006(El z?4LNBWF-O#AAi9Qv4vpJzsexF5E%+ig|S=Q`5jjXt)@iLVM`N{bprT{#MRRsw)5(DWCOx*7Ue;Lm4?%A}7ys`8ybD zU2BH(#l#osGI2Fd+{f&~MKO}%5hW{9@=yR;Qjr;KFn4T-Dww9O#X&(^6~Nfcw;enKNOUo<~xOt zQLP5Qr+g2Mp3T7EGka{WQ)kwowB*7ZXl?;i?^D;VPjv_oRhf08+s4+F=_RHD=UDgV zCUtz4F;Vu<&n`P=(^+IgnKM~5tF67&Q`ey=ArLGwvbuZ49n)@T)Cy3$MSc_p!RAR1 zXPdw?GcRe$e%Fl%_EO>pZ1zptS=t zv-RV!p;(GH3zFP3&~sV8d>vO!V3ZqWWJlF0%C4Oqv6nn^~IIhUF5cl%oQWadRZyKLO4 zD_W&Fy!jW1{kegiT(k!#7fxq=w7}wA&iBHOA<`+eARk_vKkL&A1Z@dSMzOs z*hwJ^6k*@8&(_8zCE2V!;6z19;RSOJyedVAm`2rEAD4y=Qg(3c0tIX3#~CRGE2$vE zm`Aza47fV_4I~4KiD2WzhPC>aOt5o3%x&RF)V@u}Q#JVw({cb*Y;_&*7Stbl`HU5i zG=PIr)~|x2mNyeFaAztOu4hr+Ukz#Y>Mmi3i+rz5S9PY^Qy$TQQ+h0LAAruzjkD@6 z`Vil?V=x-~iGyqG*ml0Ra0}vs+@Epnhya&aXQ$?G z>zDX|PK!jE9z!M&O~M4kBhRJpZx@qtt#GZ6aE~d7c3h)yzhF#`6_g@5D{I~sXGibF z3cYBj`vx*+%f}7(702FoF-J7U9rD#k-7;b)I*-M;kGlSiQxa~H8eJb1&4hs$D%F9{ zz##QL&B8oad`;0j5*7x}%@Ba?!zjLh&6nL2(6iy?cKXFwdty)OFsTw_#LgiMUX zJqoXTD=j9TbfMO87@VfIGwLctfI4d0oFL`>Lpdz$CcE>eso6219=cbLgt9kZZc$o@ zYYIe(dOg$W!6Ga{kAB5Qu9`2ie>jXQ{a`cx%Y*O{FM>xmnO9u0@G6RWkuLdY*`({q zaPVa!*~9G2ZwWe}oj8LYQkl$$FY$AtL?nklC@ifT%9E|9<(g)#F;|>u$P<4}4nXps zu;QNlSR^kuqx)_kFO9#%V|Qn*lbch@I!QB6O4_HIFwd8xBdDfmRnm#-ruovR7aF$q zGuQ2h8<^NwI%EvewTXVM<0jgp8a^4|;GKlUJFM%9uO`m`V-F(0wGgerlAb^Hszuqi zS1tH1hM#X9%XD{-4}-X!V`MU!HKl{x0u;;xTrGQE1z>G`a?Z3W&a~E^{b#Efmb>3h zVaMj!qjuzP|Rs)ZdrH|7_HTFxr|$=Z;}(TwQ>^L?x49HU8U zV>9Wh+xBQ?fJPKS0(YlBJj<~9&b2oyscB;pFk}6uZH7o^1ug1^)`~AbZm%|hLaOs? zDi6mrxpYPzK7C9m3?1FaVA3TY&JiYthMhz#)vuXHN;xB3;E-M4_=FsEOA1_8sR^U& zOd~GV!c{gBg>Z;2L)`Ziv#w!MMhfzV4`m4Op=zWp#HPQY+F~9n5}?H=3d!^aq^ic) zfbfZ`uA`@xML64-yeul?g32Y|pc?X9-O>0vOehrAVglU=L#$wAqE<2RdwClxia{sAV6sW^x+K4*$n!ng9B6uC3) zBmugT9Db6nm|}5Nn)c4eCIob*0f;4EKJs_awyH_QFyeiH8`IOm6jFd$NB$r|a6i$(gyEV!T}#zna0 zZq<=yKy&_=!$NbpPpy~oG5Zpsn`N$E{HVP@+X&%CG$%&mXo6ZlorO^u4m;TyggKuS zlHdNl(>KCf(SdlzUwN(#hf}>$12|tK^IYS|JpkjioH0Q?q%+r~$zmHM46%#Swj+hl| z;l{G)QE00^IL7$Xv$P2K0VyO!UObydo9~myzdY?A@0{{Ci*wKca>c2Y(izyQ$7Dr( zn$5I=)x?Dc7yMopN0=ddmmiBx4}FD+>uhFT6J&!~{d5aDN25Y9xob+z`Phb+qZJwU zAHB)=nCd2$-)$;mt4^ZR?)}1wej6 zrXk>?6&A2Bq#68&5=d5+L|MfyABD$%+rOiJ@&AP zXv>S$NJ56(0RmRU+M|?i5ken+jlmmIB@P1~f~rBB5F~yiUX2HDKV+V93&y1K zkP?v!*7sT9AcV{9U;baTbZ|B-;37XaPMqIw<$#}mFu~U*U2S5##35qi-7CxBN$`3! zqRY=DpddJ?^-pe7A=0A;ZFV?EwevxKE8Xe4CO=z?^t*MCCTIJ3K37ggz9W@5-tchfA=B}tM5m1H)mnU#04LDC^#fRFI7o@i^kaG;T& zLoQE|4VHA3C@yi2>ju5u`?mgya~T|VC>$S4R*UwDFUI3XGJ3@uy0CCASyrxnEMmG4 zZrrh~$0zxWG0{@*b}b*E(#H^HeT``Qu52Q*eaxAsz0Ks0!Bk3zLK%yBw#Ec@9H&ef zzjagrdHWCn2j_HeU_9fgP{yR2%J<{HzZA&P89GqvS0y^4sS+T|V)aUem3w)Ba#Y+- zmxg(KsC~g8|5$NHp3$Z`OOX-c5fUxkEDwpdSI20em(pfTt_!M}7cend`~%0`@v+cW zZjH%Eb2V(TIzf5apUFvLgch+!g@Wl7QC1|L>4CQKffIHgC~6iKh`YPzai1SZg0+t{ z+>?H&JnVmsAFIgIifwrV8J?NQ`A(p~xTntdN}a|vZ%OdysCic)-K~l?)Xd(XL5taR zUYT#u6k5V{Cx|e3U(Yf$y1yxl2i+BIjkzVETx;zIj=g%^>6SVl*2I$~2k#*_wzAfr z9q!=ZGoOM#z_9Jwh`HNfvF>L`_P3hT+8Dn`x@>4yR9_8U41AUWLZ$%%Gu8-O zI73cKM?l;?4_4Hr?WZ=gZ#77nUq$#ksbaAywpsw3OY&Yo%}_`e!(ePBVqFF1QwAX6 zZVoXJSS_=|$o-+aQd5pwA684zva%f?JSLqCV2r4e$I$o_{XF*$zBacSL#%7I3kKql zbEjcf5)G!5Mh&*u641BYQHGh}gYP^u1&EXmIuWELxF0{+_K~`^(YNfNwIe*0ldW4y zCe(<_pZ)MrK)wlox*du$*@-{*-Sr@9DG}HJf)jYtcjNbcE%-Nd6L@hmdkk3(xpesgoCk*#4{Mqx29R4BV&*kNW^6K7c^W^Yd*G`Wa*xQ70 zg;y=8E!Ph-N{Mw-ZYZD}Yxt}#ap>?;tT#jL2px9L(h{t1StZG?OB{j84M#br8K*uA zMAz^FYszNtb4HedZxfs<*Y^pY@t+fJjA2VxGJH>o>$-PaRC+Kk#H}o^GGNiR z&0NM3FH&KyZ2Pfe=5RVEHC5uU>QL&^`!V&eQXa2jmYAJOWKl+!!ZvZ&W1SMWDgcwG zO*-QnV3x|vG|Rq%Vf(=1VOD$SJ!~nUQUv&Ybhc}vQ2&ievaM|up;i^8vC&eMN6hs{ zwdbGlBjgQ_rO!$%fk+gskMLap6qjAZaTY3klx%c#t{y85E?WuldYXZD%-fH=WyU6! zelE=ZjzHzfSwN>c$84osj_nc=W>^V|-Cy$qiKc=9PaoC$FKwcq-bW zxy$t{r`misa$-*63s3yzhuDgHkL1Na`lD?p3R0Lv&22w{z z6k8gpo`T*wgw zhxIFBn7hQau|gbT%jrK*VuPKU9peNCBFkMzOySZwcKFj}DZEKj>tf1tYHF|5;F1#Y z$D5~UB4t$cBkW7snh`aHZ6^dWujE!?dEkMa>ROi&9`M z3Et{FsZ^c6y8KNla%H(y`Xh*_Fh4o`NRMA$nD$O%Y8-Hbr&sj?WH_FSb&q)L6q4zt zO4MN;m$|7_1TR`v`D?URwOMBP8`Nr^k8sX+UJBi)_$B+R)T)t=Rn5y@0&W_*)Pg8n zG+tADz$*K~M?w#UD=eg1CZjd>k%1CH%mwO#`yTcgPo0l4J!Ss;tNJ5oEvW?#)IPQ~ zVYd}fMhHir7-r0XTE&$1sot7dKQt}8(gjp)ssMQ<_FjK?oe;n!UOm|*2$fjZWG$a+ z$2~P`eoD^S3u_vIBP+%|8=@(BDRPYbI1*G3RcI3SFi`W^tGP|`wrRdcRuJ5C=F^1b z754m^`Sc(~d&Wf$3;{&iD2=Fq8)yJ<@A=(?WWONys}SS^%hjV)xjwLddd0pZ>L69C zCSs^dlfGw6BYL14HQgX0U$atceBzR(N-$B#N+uLm5EAAO);s09su$qTS57Dg?H=y= z{!1kdHxtg2;ECW?F{YNK?f5l5Kjn?Q->Q&f{h-u%N-Qm!mJco^R<=Io3+=oFsAv$;J@=PB=^t*?4)l}3RacFktwwLgOD7&>v zs(P}|-<>~u^|c`3GqwU1VyPhIFj3=OMu0okzWDs!ccQy4@0MQPO%qRza~t6(oMnX8 z3_rF(p^=Xt+!K8(>hp;}8y`feRb|RE^k@@-OU=n0h2P0EzN;2~H?OZ9bnPaUnf9vQ zApLX55Vwe63T;$=2;q}oEEFe=)ANT;n8k9#G%~m*x19$~7df~w7){M+xFv`{;~m?z ze;zx&PHs0Q4JW+ugs~rBrpJ*_DM9g_|K!iM&|XL)v(;F*fmXiDJ>XtN&)iflEn74V zWad^C`1AGMqv75*%2j^VI^!2(SI3JeoW%XiM7SnHQ~izv+C|77&6F{kn6>pVizWW= zYs`*IWiynd-)bV8RwrUf_!S)jS=W0?PXhyEK!WP0e&Jx|B|>d;$jwCs3T&1z8+S0y zH>Q5QnsA>87n0{HI+M+)f!)BDx|};iAi!fvb1Hy3iP&S)^ZpvXBLqPxeQ+)AV?zW5 zBbB2JFU94Jk`&IvmsMtGFSN#;+hdf1wL)I}N%$ea1owEetL#oAeeHSBX7HEo(oeRc zTNkCi?Og@AaMzHqaV*4)N&I3g{4xX8VioZU=OO&BB;ZxoB;%Nm{si`i0+K!!z*=MF zcEb=jf9h>_II~Nx>X|A;Q28$Av!r3!)F9y5!mwhh-|Nw_f8YN4w?}2k{Cn^OUJSvdjKjmNTgSQcZ~$7laz7{k;Y?ehTwVG6qtyy85Us@L&w-ie z3U4c*kuFrzmz303@Rwwhhx{66&ndge3+uXl1g#bP5YKLj1jpC;U91w>2i!n^!y)Uy zVA7sc-CrWBLsQi=8eL5q!HH_wJjupwYH4@Pm9MiBB5eTOc9x(Ki50dLEI^BdU#FFO zju81{RJ?wJ-BjA2wVno3;H{!yM_|*1^z&_Y>HN`_16UNZ`zk*t0Rn}2?a;AuJOSi2ybSWiVMg~UkO+b ze_ccblbrv?yJ&bp>X~CLONu+qZ`)8tY(xO9N~>CCo;$oarRaxy01Kr?$Q}T>Tj?9$ z#LPB7b%#1)9QsIgtY1wqO+rc=Y+8jCy7H;dFswxSZ_$PELS<1Q{DMV8^=3&=2t+LI zE}z-_UVkppBwM`$x%5))WoSVrDI(*tK^&D2*}A>RH74S^z48%3C=ZWb94CZ({x8Y5 zA2(GO(U)Drp5sJGf#RGs*D8+@UuPR@QJgOi@1|VI7QFI}7?`B?6oyRn2}O zU*4j0?O)lJ1KjpqSKu-g%nrg-2ogAb zvdD6%lAkm0e((<_LS?^52KP(dSv054r*~*Koi5ibYmefwz@U#X-A9;sb07|FAp^K$ zDO^I@&SuSe@23jA5{K8Qwdo7?C>ORUvk%7=uRaoVK9nM#qc|1O$@^32vl~|&*3xFX zSlkO0JM0^<1Nlhi_YYvo9YDuibGn-%m28Q@8^6>xPf1u4k0y)xj(#m@%GJd3pWaGi zT;NdbG4`8oqQ_mL421NUE8e1f*W5&$`y*qX;DW7u9j_da!?wBFe6^nV4NMh5SnX~X z)&N9oTAzw2!^CPeXvxoXv#%;EP4k@*5VA|4{ri6Tf%(mtD*En!vacX&UBQBKI^r}W zhgrU|aoxIx{g9Khk?s`w~IHW9j zSDEr*k$Ab~@22!uIlyi(UnWMZD0IWexQ$PHq>D?vL>L>S3v}$mbfg}%71&+y=n>l zql)MTz`uolx{S~NN&nQEZ@(pkKs?0Mpt^FprcGPAe<~jwh2ID$n3B55#pU{+kdU=! z8RDA*TF@iX8$pgP$AS5qS^~A^Oa3Re1bWI}{7(V2P~iTC3Wfe}I8x~QhLS}dZ`e^3 z@`l327H?QmZ1aXFB_?m^QeyjtD~bCkdFB)R|h1V9y~+GPJpLBYIBD0PH} zf`WyEf)e?!L=+U1p(5wlYgqGF)w?qXRD#3iavSoa~WjqWNloC7?6z~6BdB_-4WJ?7)H^u=W zm;d8ISWXDtX8x~?1hOf|e7l*zzjBW4Us(h+UV{8)d&jFDzw>uO{(mRL_CK~*jvzBI z9f%Q(OZuOgpOI7iYJi1;+ISBICHy}FH9)3d#W(*tFd?*y=ifGV&@-6iO(LlvgvJkg zbF!%TXC|oL^UMy|P*ATdP*B|e~ delta 9886 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 diff --git a/src/com/github/btrekkie/red_black_node/RedBlackNode.java b/src/com/github/btrekkie/red_black_node/RedBlackNode.java index f9cf2602e..70bcb229a 100644 --- a/src/com/github/btrekkie/red_black_node/RedBlackNode.java +++ b/src/com/github/btrekkie/red_black_node/RedBlackNode.java @@ -24,6 +24,7 @@ import java.util.Set; * * @param The type of node in the tree. For example, we might have "class FooNode extends * RedBlackNode>". + * @author Bill Jacobs */ public abstract class RedBlackNode> implements Comparable { /** A Comparator that compares Comparable elements using their natural order. */ @@ -720,6 +721,7 @@ public abstract class RedBlackNode> implements Compara height++; } N node = createTree(nodes.iterator(), size, height, leaf); + node.parent = null; node.isRed = false; return node; }