From 076a6b61d349dc1020e2dabcfa774af4b24de9c1 Mon Sep 17 00:00:00 2001 From: 4ndrelim Date: Fri, 9 Feb 2024 01:51:01 +0800 Subject: [PATCH 1/3] docs: Improve clarity for radix sort --- docs/assets/images/RadixSort.png | Bin 0 -> 38286 bytes .../algorithms/sorting/radixSort/README.md | 88 ++++++++++-------- .../sorting/radixSort/RadixSort.java | 8 +- .../sorting/radixSort/RadixSortTest.java | 7 ++ 4 files changed, 60 insertions(+), 43 deletions(-) create mode 100644 docs/assets/images/RadixSort.png diff --git a/docs/assets/images/RadixSort.png b/docs/assets/images/RadixSort.png new file mode 100644 index 0000000000000000000000000000000000000000..d49834b24d865cbd0e73b18015ac15e41e1a8d95 GIT binary patch literal 38286 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⪼M2150IGK+QKto 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 literal 0 HcmV?d00001 diff --git a/src/main/java/algorithms/sorting/radixSort/README.md b/src/main/java/algorithms/sorting/radixSort/README.md index 31d34224..90fb4410 100644 --- a/src/main/java/algorithms/sorting/radixSort/README.md +++ b/src/main/java/algorithms/sorting/radixSort/README.md @@ -1,68 +1,78 @@ # Radix Sort ## Background - Radix Sort is a non-comparison based, stable sorting algorithm that conventionally uses counting sort as a subroutine. Radix Sort performs counting sort several times on the numbers. It sorts starting with the least-significant segment -to the most-significant segment. +to the most-significant segment. What a 'segment' refers to is explained below. -### Segments -The definition of a 'segment' is user defined and defers from implementation to implementation. -It is most commonly defined as a bit chunk. +### Idea +The definition of a 'segment' is user-defined and could vary depending on implementation. -For example, if we aim to sort integers, we can sort each element -from the least to most significant digit, with the digits being our 'segments'. +Let's consider sorting an array of integers. We interpret the integers in base-10 as shown below. +Here, we treat each digit as a 'segment' and sort (counting sort as a sub-routine here) the elements +from the least significant digit (right) to most significant digit (left). In other words, the sub-routine sort is just +focusing on 1 digit at a time. -Within our implementation, we take the binary representation of the elements and -partition it into 8-bit segments. An integer is represented in 32 bits, -this gives us 4 total segments to sort through. +
+ +
+ Credits: Level Up Coding +
-Note that the number of segments is flexible and can range up to the number of digits in the binary representation. -(In this case, sub-routine sort is done on every digit from right to left) +The astute would note that a **stable version of counting sort** has to be used here, otherwise the relative ordering +based on previous segments might get disrupted when sorting with subsequent segments. -![Radix Sort](https://miro.medium.com/v2/resize:fit:661/1*xFnpQ4UNK0TvyxiL8r1svg.png) +### Segment Size +Naturally, the choice of using just 1 digit in base-10 for segmenting is an arbitrary one. The concept of Radix Sort +remains the same regardless of the segment size, allowing for flexibility in its implementation. -We place each element into a queue based on the number of possible segments that could be generated. -Suppose the values of our segments are in base-10, (limited to a value within range *[0, 9]*), -we get 10 queues. We can also see that radix sort is stable since -they are enqueued in a manner where the first observed element remains at the head of the queue +In practice, numbers are often interpreted in their binary representation, with the 'segment' commonly defined as a +bit chunk of a specified size (usually 8 bits/1 byte, though this number could vary for optimization). -*Source: Level Up Coding* +For our implementation, we utilize the binary representation of elements, partitioning them into 8-bit segments. +Given that an integer is typically represented in 32 bits, this results in four segments per integer. +By applying the sorting subroutine to each segment across all integers, we can efficiently sort the array. +This method requires sorting the array four times in total, once for each 8-bit segment, ### Implementation Invariant +At the end of the *ith* iteration, the elements are sorted based on their numeric value up till the *ith* segment. -At the start of the *i-th* segment we are sorting on, the array has already been sorted on the -previous *(i - 1)-th* segments. - -### Common Misconceptions - -While Radix Sort is non-comparison based, -the that total ordering of elements is still required. -This total ordering is needed because once we assigned a element to a order based on a segment, -the order *cannot* change unless deemed by a segment with a higher significance. -Hence, a stable sort is required to maintain the order as -the sorting is done with respect to each of the segments. +### Common Misconception +While Radix Sort is a non-comparison-based algorithm, +it still necessitates a form of total ordering among the elements to be effective. +Although it does not involve direct comparisons between elements, Radix Sort achieves ordering by processing elements +based on individual segments or digits. This process depends on Counting Sort, which organizes elements into a +frequency map according to a **predefined, ascending order** of those segments. ## Complexity Analysis -Let b-bit words be broken into r-bit pieces. Let n be the number of elements to sort. +Let b-bit words be broken into r-bit pieces. Let n be the number of elements. *b/r* represents the number of segments and hence the number of counting sort passes. Note that each pass -of counting sort takes *(2^r + n)* (O(k+n) where k is the range which is 2^r here). +of counting sort takes *(2^r + n)* (or more commonly, O(k+n) where k is the range which is 2^r here). **Time**: *O((b/r) * (2^r + n))* -**Space**: *O(n + 2^r)* +**Space**: *O(2^r + n)*
+Note that our implementation has some slight space optimization - creating another array at the start so that we can +repeatedly recycle the use of original and the copy (saves space!), +to write and update the results after each iteration of the sub-routine function. ### Choosing r -Previously we said the number of segments is flexible. Indeed, it is but for more optimised performance, r needs to be +Previously we said the number of segments is flexible. Indeed, it is, but for more optimised performance, r needs to be carefully chosen. The optimal choice of r is slightly smaller than logn which can be justified with differentiation. -Briefly, r=lgn --> Time complexity can be simplified to (b/lgn)(2n).
-For numbers in the range of 0 - n^m, b = mlgn and so the expression can be further simplified to *O(mn)*. +Briefly, r=logn --> Time complexity can be simplified to (b/lgn)(2n).
+For numbers in the range of 0 - n^m, b = number of bits = log(n^m) = mlogn
+and so the expression can be further simplified to *O(mn)*. ## Notes -- Radix sort's time complexity is dependent on the maximum number of digits in each element, - hence it is ideal to use it on integers with a large range and with little digits. -- This could mean that Radix Sort might end up performing worst on small sets of data - if any one given element has a in-proportionate amount of digits. +- Radix Sort doesn't compare elements against each other, which can make it faster than comparative sorting algorithms +like QuickSort or MergeSort for large datasets with a small range of key values + - Useful for large sets of numeric data, especially if stability is important + - Also works well for data that can be divided into segments of equal size, with the ordering between elements known + +- Radix sort's efficiency is closely tied to the number of digits in the largest element. So, its performance +might not be optimal on small datasets that include elements with a significantly higher number of digits compared to +others. This scenario could introduce more sorting passes than desired, diminishing the algorithm's overall efficiency. + - Avoid for datasets with sparse data diff --git a/src/main/java/algorithms/sorting/radixSort/RadixSort.java b/src/main/java/algorithms/sorting/radixSort/RadixSort.java index 866b5628..0a775895 100644 --- a/src/main/java/algorithms/sorting/radixSort/RadixSort.java +++ b/src/main/java/algorithms/sorting/radixSort/RadixSort.java @@ -16,9 +16,9 @@ public class RadixSort { * @return The value of the digit in the number at the given segment. */ private static int getSegmentMasked(int num, int segment) { - // Bit masking here to extract each segment from the integer. - int mask = ((1 << NUM_BITS) - 1) << (segment * NUM_BITS); - return (num & mask) >> (segment * NUM_BITS); + // bit masking here to extract each segment from the integer. + int mask = (1 << NUM_BITS) - 1; + return (num >> (segment * NUM_BITS)) & mask; // we do a right-shift on num to focus on the desired segment } /** @@ -28,7 +28,7 @@ private static int getSegmentMasked(int num, int segment) { * @param sorted output array. */ private static void radixSort(int[] arr, int[] sorted) { - // sort the N numbers by segments, starting from left-most segment + // Code in the loop is essentially counting sort; sort the N numbers by segments, starting from right-most for (int i = 0; i < NUM_SEGMENTS; i++) { int[] freqMap = new int[1 << NUM_BITS]; // at most this number of elements diff --git a/src/test/java/algorithms/sorting/radixSort/RadixSortTest.java b/src/test/java/algorithms/sorting/radixSort/RadixSortTest.java index 7bef49be..28cd4315 100644 --- a/src/test/java/algorithms/sorting/radixSort/RadixSortTest.java +++ b/src/test/java/algorithms/sorting/radixSort/RadixSortTest.java @@ -31,14 +31,21 @@ public void test_radixSort_shouldReturnSortedArray() { int[] fourthResult = Arrays.copyOf(fourthArray, fourthArray.length); RadixSort.radixSort(fourthResult); + int[] fifthArray = + new int[] {157394, 93495939, 495839239, 485384, 38439958, 3948585, 39585939, 6000999, 111111111, 98162}; + int[] fifthResult = Arrays.copyOf(fifthArray, fifthArray.length); + RadixSort.radixSort(fifthResult); + Arrays.sort(firstArray); Arrays.sort(secondArray); Arrays.sort(thirdArray); Arrays.sort(fourthArray); + Arrays.sort(fifthArray); assertArrayEquals(firstResult, firstArray); assertArrayEquals(secondResult, secondArray); assertArrayEquals(thirdResult, thirdArray); assertArrayEquals(fourthResult, fourthArray); + assertArrayEquals(fifthResult, fifthArray); } } From c889b6bac0bd8fdfda0e3eedcc00f0d29ce73087 Mon Sep 17 00:00:00 2001 From: 4ndrelim Date: Fri, 9 Feb 2024 03:59:35 +0800 Subject: [PATCH 2/3] docs: Complete AVL tree README --- docs/assets/images/AvlTree.png | Bin 0 -> 44093 bytes docs/assets/images/BalancedProof.png | Bin 0 -> 98088 bytes docs/assets/images/TreeRotation.png | Bin 0 -> 85757 bytes .../java/dataStructures/avlTree/AVLTree.java | 32 +++---- .../java/dataStructures/avlTree/Node.java | 7 +- .../java/dataStructures/avlTree/README.md | 90 ++++++++++++++++++ 6 files changed, 106 insertions(+), 23 deletions(-) create mode 100644 docs/assets/images/AvlTree.png create mode 100644 docs/assets/images/BalancedProof.png create mode 100644 docs/assets/images/TreeRotation.png create mode 100644 src/main/java/dataStructures/avlTree/README.md diff --git a/docs/assets/images/AvlTree.png b/docs/assets/images/AvlTree.png new file mode 100644 index 0000000000000000000000000000000000000000..c0312753df8ec045f8861877757eb5141d9d5d09 GIT binary patch literal 44093 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�uP*K;@fW1TjQV%G5DP;7w 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 D^^&s8 literal 0 HcmV?d00001 diff --git a/docs/assets/images/TreeRotation.png b/docs/assets/images/TreeRotation.png new file mode 100644 index 0000000000000000000000000000000000000000..4e64f56f05b42e9c24245256bf0d4d3d7edfee66 GIT binary patch literal 85757 zcmd43WmFwW*EWo62<{pP?oJ4p-~i70}BK|X{yF2y8D8UoqZICsM)*a9pCfN zOzL#?*O}bbL8QHb$_{jl-dd|IcezEQe))B;nZ!b5oxDN@WtOlr+_Ug{r4e(pvuv(} z`>~P7Q!#6)=ai1r)+MHRG{vT^>u3_`04}4?Rp05(2l?;bk@J722-TsR?*GzFA)w41 zN)Y5qgr15bXqTXHB@fG{7|+ z7;~g`W=!DhW$S0Kb)t?2V1B z9ZYQ;WwT^FfuUy1l+_*8Wu&={Y^)dz-rE=&Gq_sW{_FzAG>HNoCfY5vhJdA%cjSqpJbvghHOaM$mL{Qlk z{4f>PRaq1}NY33RAV6N|gz%&Co?Fg z<=mt_Ixrj#S=*mn55;+2@C**8@}1Bn^Rk)@+tFhAp$LFM{rjUG;oCGg1cwd*jso_t z&lfm>-CkJm|LPV47T}Goqb`m3AB`lJ8?0auB>(y_NP-Eqg)z{5gZ__3l>0N>f6o96 z9Ge_0b43&zYvR9V2={dR!WRtg|9*VK(0oTvvJk_}{QlhtOxzRZ--Hlo7ljwtbr}on zuKtfkFd=?E$bYYhWHk$l#$(;y_&AmN?44BH)ukBy6)y%dEg+ql;X6kSQyhT~wLH))- zTV)8@SC?;Tcs>^yqSkx!hI>Ce`Cb+(kbO==&1)5gsiSal;mm_%cHNDSNln%Juvq2e z>T5prf-(Ad7rvB(SbQh^?01ReLI!v`T&0Rr0Et>}PoAjjzQuX((Cu?MmzPb&)i>iO zX5vZ}&q%4H>a3gi@$N3rcs%7*$JF-5iyzElzst@J37D|=aD^;Ru0Psr?bC}TRzobE zmZZZBvaa&~Bh54{KPfclivM;zMr2OYWjvii7av$~sevYxWTQEDD*Fq0 z1?%}_Wd0ZvU*Y}%5fPH@)B)ZcF&u}-wI7%l>z+SmjgIgypWrVo7jr1|v%^)JW6CfK zopNI6y19WJEjq<*KUSxLKszz!XLoJK-}2H91v4{2g~ngjZlR8GiG&}8{)sheBw#IW zYU-jtI=(?I2H1gyQ}@SQRu;?LA$~yWUwLyJ2LB7qB7^`m%PxlMSv!SNzkR;_jyhRs zj5JkIs^Ou`j*R<%@j!n04_Y>7aw+*}Xt+6&@#!q`j%0|~A*YrJ1q9to&}_3827fIp ziy!)CG}3CtK@Ew-IwDxq z^`>L9gjwWzrqylm6N^kuTggjya|{)VRP@<*iv<&QokLm(#)x`*bniH@dcG%d7JXB1 zbtJ`))oMDXvYL1N2zokUsUXS3Xl~}ow@OZ$tg(Q^bF%R$x{azcS&?+87T3%UQt4Y* zh(13bz>E7FIg(*mK~RjTZ>}$BIze|{q&DLbram1Uhe&;`RVx2l~y9fTxh z?*S-F|It=hYYc>*TnGw2;{C_;^t$&({+tPt!7(v(+_tA^gs45Na%s)7cAVo~+kvz7 zD9PC7%SZ{vB}uXQW)tRT|>9=Xi_XqLSZ$hC!9(pn$xvEw_Z}GIx;lbp6Sll9#sz`>oRn8 z4#%fQPE+gM`vra-X`K}a!#>IG%!(rZkvmAu3k&-&PS&Z_VHD|1hI|IOFsVP%Dnn?o zci!^gokezPeopLm>+F8l4N4M^UJi~-$TcO2!k=p~3hk#nqw8vY?l9+e;p@n;vt2u0 z!W%E@oYh}yL@jiplunU5;3QHT;$+`QPBa>XYrlyA$<7BQ~-?fi9@ryvoop% zgO4yBG>tG{`}BFPr9{i;^S5SD)28fjir6gDQeL`EM#}@kD0X`Iw{`*I?BoiQ6*1(> z6vRgA6nl%H)dP!1A6h;Guf5pZYWE>j8K>x#x$Ji5vpGXX$eYN6_x4^6G^Xj}=KFf} zUr4G6B>8TV9F)X7)fyv*HQ!V8Ons!t>{P~ zVjr=arMmi`g_Uu@BV+CCR>>XbhQNKdMr>eQR#(4Y0FUORs&Px_bMXHb=B!%6Cw;LK zJ~J#t@SES&{tn_B@g3eAQ|Qv`a@T&oMu*dQEci#MxZ`XSN_sY})frvHWmg>5W7vWI z{ux=-@P#UyDZw`aVyz#|`H{m^HZ-1=653rBdignKNd5FCkP%DhM$dX8ilCh9?ncQR zLafBOlx(}4T8QFlp4y(B)`+5^yseI#4f>MfdjdF@AN{dDo$x8KM@`PFHcDozV(tA7 zevN>KbZ}likDl%*lMJG4;d5$OU$QZJyH31U)>5&UPdxIf!&|Iig@_+jigg(@xQcQ( zSJ%-oR{=)+0U&8U*T*FG@0b%(l;^4Y;>6F1&L?m5xCgU#G*&EMc{fPjo{VDVB}HbJ z(&~*EJP^kPIpIf)t$kO!}HCPQ}m`T~Z-5{Ddje*@jKReaFNC$UZHYWXf|dA@d!?!{Nw3^eK! zCl%bFv3^T|NFDj<&!r;XozX%cPjM=wEJbqjcJgb_`c3dnhYw*fFYZEnpZRpk5_&&b zVjIjZSrtg_++&dQS%8BtM|BL;*R#!&-9MQen1!`*s=O74`Q;oa%L5+lQS~X^?J4qV zN(w}OWrH5|jJqdgLO4ocK}|$+9%0M<0N7c!#*H6IDVit!qw<*~+IGJsVYe)iPZuuZt^ngE3t-3tyzGtA^|X z<;WARHkK`yZVSBP{pU_8DbsFZIdl)()zif)mv<*gKALr2VU+(VoC&U@|SEN#u z$(KLUJ4$u-mGlf!qIh3Gg(1E0GT6uW4=i_)#ACIAiFx_x13;J2F^} zRaW;6iGCx|kJI7yA+#-QmI2xVt@)+{uOO0zkmMhr{vIHmjMxWV=xetjtow%>3t7Uq zlT*yHJ$dHdohA*=>aU9*tF-uY+k2{EUYcgcEtW3_penKBdxj)^g;dXm$FPwO| z(aXVE>lb(n2;z|)m*HdAr-RFl6su5SBV_oSkRcplKTfU57rj@z%OQMst~tXy!Uep# zKCP0cIj002c{#a|9^k9tewo6W@xzsKtR6x7@fJ%>>`e2e;K)Hb&u7gh@R4B1k}oMy_WWVG=)B^I`WR-aOl(#-WRLH(Rod<9%h()XW5UkUShihIT;U;f?g)wP2s5c z=|QS`T8&u%K5Mo_PJf#{xdwXdN^}&9$`aVJmzq{Kly?I&>YB{>6m5DgwNQ3}Ql9&~ zMu`7!;aq|M;55RQOVi_#9QO^Q@s~f}jKQTo^aah&HQxoS?_sSRcwfc(1r^5k-&|kk z^!B*WMi0a1p2Px>-3`wD&hYR`8SkdulH2jNa6RNU<{A9eB|bt}z(94BsKYXW`$o-M z8LZFylLf^zR8owuigugRkK`VV16a65~!C~?s{tLl2`W)`Bkg40adw4U^Hdy5!;L1l|^}{smJ{( zp@P`*_F>A0Tz~e(>R9UutPx8d7J7Ou7VZ8{ql(T7KKzy!s;#+(VXttPzR{M^dO#~6 z%or(=pCDUC3ZmaSpNtD^T1ajX{$}Pgnt?cJL&wTUGT*ah43qZEXg);*L5t*FCrhJZ z`Q@;EUc?oF=B`O5XtV!dd?ymAs^U!0d#S#o%u!ShLNbMbc_?;9WvCU(CxVs5zKh~> zdh_eUnoP-9l1A^AVuOC2rjfDD9qh4#GNi22Q?Q1Yq`%8XEhUh%x&AD(?*|Q+`z0|^ zYJ{&&o_cVXjodGt_5z+3*5jHUsr?gZZ!Q~^m%pJ*VxHhIT9>-K?2@}PvV}a;+sl~K zgHGMVcDcO^Vp zauHOJ(R0d>Ofwtzt4E=9$mHY4jj zC_ouQV{TZ^$*Xai7dh`hG>~eh5EfZhv}5XXn->vG*gbN6dQ+I{OoY zjMt14?D!Er_MME?W>uxeJ~D!;TIpxQl1ZR#6qzW66F0X3u}8KfEHU;hMJj&11}g?4 zf}B$5jPVqSeje}b+>zYOZ-T_ca^_>rFzjez)OVV~)l3Yy@K++Q?SQpCsn%sPFQ(B zDfCjqb?hf)z3}0Lt@OP4<|&K}{lfftA8Px%eptpVg?e3f@H&q4+3Y?BLUpTp>(mFU zE9qb6Ux(gFeloww-q@Ik4NZ>uHbNxqESn}_m8j{u)Rl!S(X3Pb;RtoSjyZQ)t=87zZt)_l+oUJ@{@Sci z^~FD&c6R`3W*~csG|XM9&;$M28aY}w%mI3LXzHa4u2-KQBpSW$Nav-b3aslkOdZ>Y-f3+MAcQD+q*4oA#ZpAI3`? zOOx(2&X)^~*`7|aP2IP)z^fG&FHGnYTONjK8?Pp2MuLe;Q1QjWrCSxV%VaixWzGad zU#;pYQ0&uPyij27>!EDG#U1F(tJ(fA(ptg}Yf<|>sEg0jhpS-8;)C9nXIr|?1TK2D zSCU1%$qBqA)JPNx<>OLOAPIiqjb3AnNRxBA+95X!X~=YGnn)y%XVW0UBafY$wpurI z4GD9WJxO@u4Mzny(?`(UBbwFnDUa9r**iSWTCxhPkWAY>do+68$`yI$&EM@j6^id@ z8CZ9kL@W(-zO&DoVU~FsI}4yn>^(MN9QTW3F=?*NP39B*{Ti2(U3X&eN2sWNg-65GBE^NdAkMs(-v-w99XN7{9R`!Qi5>3k zf}Ge*bZd*h6EV$7KH~$3jC4RTkv>Q<-sdr2U|oKueob6&I`}Hn>Q@wGs{weSgqCJ= zeTkY}PWz3TaVq10AEiQ}pDmW=)yU~|GB00qwLw{mm~Gq!zou3b5|bHuGUsr1PmABD zQpGzekMo1Idr&~Z;HzJnW0jGSk`uZ$@7;qN;*8aGo4?h*CkCYv$rvu+Nn;$QE!Ep$ zwD4{)Bt1Prc3CsWc6LkEE?p|`qnrJ*8mkCEocMN@CMXzIeu+C4Q~c`43p1%mBPYbZjN_6_8Gc2-o zuBOL!F+E25m&_y^$)53*>j@YB$84qUG_QjfUEsuc9Qi^gZEvNW-ggVNJ?F;9?_(|p z?`kZ(ai}Y*Es5*s1bM!?q=j})o~{xn%cUz+5T0|L2VcWqiW$xD#_V2KD}5dPChzcI znmD_YbfOgJ6s(w?xVsn_!Sd6&GE>id~vhs!RdHk7g!@>k;ZdrAng0azHn=i+_$ z0DdM9|JY`qh1M>L8*q7;^IAk?WT24pY|_JuE5GZ#it(SaW%5s>|Bugn;-rbk35Bo=y3V zThP%l!7!EZ?J&)^B61EZMHS{S=o`_n8=7ru^7EbhSn9TkE)y&&V|?kVY0nqVIg0HH z(<;WUTTv;bpEa%LJwFD$OqOWQR9AlA-WNEKA3+?c@}oePUYVKj(=YmiLEHlyL^C73 z)(w&T(>gULsZGOU?Sguv=lm}V;}ix$FmKB8WFP$Rksr11?Mjt{CIEGxPavRvy6gA) z8Ce$!uSXA?P|)WHL1(*KD%(u99AO@u_uu*>k7ODTB9&Qqd%tRV+_zzqf_pMII82Bz z*I0kAt+C5*yNXuf1z`k%(sV-_XvKwP(It9-3#@W7j2B7T78MHE; zz4pAkJlWo{CuC5*i-UgGDUSJcwdUUbd6nj~rx5>MgXrbNB4N%`qG9X-nRw}V@3WTp zckv&j(^zY(2M3~bx3q!9hdg-hH`4d=KXR)(_*>)Jdtfy--v6kd!zv2Uvfz`vVB#1; zot~Plh!cNvZGLuoo1VYoJCZY0U{OI`xO5)$T94iRvEMDGBxCsm*miPxX<492{EwXd zJ`~SX)fXchh?7W%gbp|ThCum`1h854r?&FiAQ^W45oSE zv+{Yw8}#V;ya_rcd@7;Y&q*f>CR^ic0uT(!N=wJR|L|%D!vvf!=vHr#(v_@2DaQBH^drePbIRldkwF=iFCay z+V;f~{iV^r|MI}VgUNlPy@Pe|NPT>4?mukfXw<|t+TqFPaE8C#+8|{elvkI zKTV)#gZWIUbQ_~v6t_#U+A&#;$;uX=2J2e_o_tK+M}6$6`QlRkvpMLTocTu}N3>UB zCj6-kQJqZr(~B(V3!>cZp(6Y#Z6JN{Zb&p+0m&3I>3l!{L5UeJUq#v`h8>*mew9cC zAKaZbOxj|&S6=V_{HUe$zGvIg&FMgF)Z--I`mpKRv|=7kKt!G;G=FJ#dkWf zy1Y^|$`^AQq>Elz&gG+jyt12mxH9*Dc&t(oQnxORvvPFLl?1QW2W5||KxNaKVIIzA zGL+nInBj5f)TkEjDOe2kUZy!&%zEfJi7WBR@dkMGnJER!mn02b(@5ir>SrLgki7T+ zI(vY!Yw4PaDWpRDm3k+U4;2V(nII-AJ>)3CAP#ohoLCL+`gHD<{dRPn+#_%c zvz6upE$$p~&ESux8>&hCK6N>u(%BFpQv8GD%R|D+7A@gG?e7vlRuNy_+5me^--d3L z6x%qIi_DebR0@@+G4*-vXqwb5c}}067+dE>JlWgj^*x|(5Gjh8*PNx+I!0E)SXdm7 zu*$In1bjiXh>P*;J4)_{-rhkEGo?l&PE$m|^y`-DBj1HxMiQ*>7C9SRPG#-zj~0CV zK$>nL(4*@KSt>Q;}U|W34q=Nn);Ff2*~_ z?|2)!sd%vC76zbBvx1qeY_hsEHN zISMF>E9#i;X+Czm#6(bc;6oTnj(I=g#BP?M%J9QShXGF58}_;7_2(;{?9EL&Nz4_6 zW`lP8x6NPC2@b`ZzfOL0Vyi)|Ww@;h`h5#kpBIqwl3q0WUtay+X)<47)X}LC$NWqK zreA9DTjw~yxwe7lorL}^Z2b$OU@3sqgC91mFywzUN&!(#T>#Pk$G>0o_k}McI#4pw z9_F9JhvWT)S4=Kpp@+x>o)jjVQejQ+h%`s<<{4Ok_8W^m(wtYfwPr^9=? zu5bDujr#C_*BLh|tn&-6{#qf5t^QBoa2vTB@J@YZP>JVRrLLs$QZo%)b`mONMGoi`6j+ z9tf06X=)}FOvw}dHP?(3_{Z}>Mz#+>66}vLm;UB27Xo;d?0pk}!x|bI5iGEuA^++j z5GbIm93%NM>TiD2K>U1`76Ru7>R%82MI3Hr)76Iq=@8RM9 zSmImtQ|Jz9L(cxI5dq*9jsBMxzv0GTq#Kq6#;htM=|TRFMjAk_ihKoG{-Vv_G7bjE z^%h*tBpvMcZndw!#K(&RRIWXQu=;Zv!0rw>I5Cx+P8<@4x%%g`e|I9$Cx-ZtdP&UdKFOCYTK2#D`Y_;(jEv^9<(atb z3edkunvx7Ad!Op@#N_@L!+%p_d7uT6lc*efMvc{d!6u77$+* zw%-y-zXsi*(2sk?zmvuy_J2s(4t0JJM)ig~I4atq|NHmwP9ZO9wn_0&e-t=hUkd<% zPVf#wH2&7DpBKI~e(Q!=4m(O_C#_t-KAkAqd33Y`6&YE&NSv�~x~0>r6=lKA=)V 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 node) { return null; } + + // ---------------------------------------------- NOTE ------------------------------------------------------------ + // METHODS BELOW ARE NOT NECESSARY; JUST FOR VISUALISATION PURPOSES + /** * prints in order traversal of the entire tree. */ @@ -390,13 +394,9 @@ private void printInorder(Node node) { if (node == null) { return; } - if (node.getLeft() != null) { - printInorder(node.getLeft()); - } + printInorder(node.getLeft()); System.out.print(node + " "); - if (node.getRight() != null) { - printInorder(node.getRight()); - } + printInorder(node.getRight()); } /** @@ -408,7 +408,6 @@ public void printPreorder() { System.out.println(); } - /** * Prints out pre-order traversal of tree rooted at node * @@ -419,12 +418,8 @@ private void printPreorder(Node node) { return; } System.out.print(node + " "); - if (node.getLeft() != null) { - printPreorder(node.getLeft()); - } - if (node.getRight() != null) { - printPreorder(node.getRight()); - } + printPreorder(node.getLeft()); + printPreorder(node.getRight()); } /** @@ -442,12 +437,11 @@ public void printPostorder() { * @param node node which the tree is rooted at */ private void printPostorder(Node node) { - if (node.getLeft() != null) { - printPostorder(node.getLeft()); - } - if (node.getRight() != null) { - printPostorder(node.getRight()); + if (node == null) { + return; } + printPostorder(node.getLeft()); + printPostorder(node.getRight()); System.out.print(node + " "); } diff --git a/src/main/java/dataStructures/avlTree/Node.java b/src/main/java/dataStructures/avlTree/Node.java index 36228a51..2046b3e7 100644 --- a/src/main/java/dataStructures/avlTree/Node.java +++ b/src/main/java/dataStructures/avlTree/Node.java @@ -15,10 +15,9 @@ public class Node> { private Node parent; private int height; /* - * Can insert more properties here. - * If key is not unique, introduce a value property - * so when nodes are being compared, a distinction - * can be made + * Can insert more properties here for augmentation + * e.g. If key is not unique, introduce a value property as a tie-breaker + * or weight property for order statistics */ public Node(T key) { diff --git a/src/main/java/dataStructures/avlTree/README.md b/src/main/java/dataStructures/avlTree/README.md new file mode 100644 index 00000000..bff9f804 --- /dev/null +++ b/src/main/java/dataStructures/avlTree/README.md @@ -0,0 +1,90 @@ +# AVL Trees + +## Background +Is the fastest way to search for data to store them in an array, sort them and perform binary search? No. This will +incur minimally O(nlogn) sorting cost, and O(n) cost per insertion to maintain sorted order. + +We have seen binary search trees (BSTs), which always maintains data in sorted order. This allows us to avoid the +overhead of sorting before we search. However, we also learnt that unbalanced BSTs can be incredibly inefficient for +insertion, deletion and search operations, which are O(h) in time complexity (in the case of degenerate trees, +operations can go up to O(n)). + +Here we discuss a type of self-balancing BST, known as the AVL tree, that avoids the worst case O(n) performance +across the operations by ensuring careful updating of the tree's structure whenever there is a change +(e.g. insert or delete). + +### Definition of Balanced Trees +Balanced trees are a special subset of trees with **height in the order of log(n)**, where n is the number of nodes. +This choice is not an arbitrary one. It can be mathematically shown that a binary tree of n nodes has height of at least +log(n) (in the case of a complete binary tree). So, it makes intuitive sense to give trees whose heights are roughly + in the order of log(n) the desirable 'balanced' label. + +
+ +
+ Credits: CS2040s Lecture 9 +
+ +### Height-Balanced Property of AVL Trees +There are several ways to achieve a balanced tree. Red-black tree, B-Trees, Scapegoat and AVL trees ensure balance +differently. Each of them relies on some underlying 'good' property to maintain balance - a careful segmenting of nodes +in the case of RB-trees and enforcing a depth constraint for B-Trees. Go check them out in the other folders!
+What is important is that this **'good' property holds even after every change** (insert/update/delete). + +The 'good' property in AVL Trees is the **height-balanced** property. Height-balanced on a node is defined as +**difference in height between the left and right child node being not more than 1**.
+We say the tree is height-balanced if every node in the tree is height-balanced. Be careful not to conflate +the concept of "balanced tree" and "height-balanced" property. They are not the same; the latter is used to achieve the +former. + +
+ Ponder.. +Consider any two nodes (need not have the same immediate parent node) in the tree. Is the difference in height +between the two nodes <= 1 too? +
+ +It can be mathematically shown that a **height-balanced tree with n nodes, has at most height <= 2log(n)**. Therefore, +following the definition of a balanced tree, AVL trees are balanced. + +
+ +
+ Credits: CS2040s Lecture 9 +
+ +## Complexity Analysis +**Search, Insertion, Deletion, Predecessor & Successor queries Time**: O(height) = O(logn) + +**Space**: O(n)
+where n is the number of elements (whatever the structure, it must store at least n nodes) + +## Operations +Minimally, an implementation of AVL tree must support the standard **insert**, **delete**, and **search** operations. +**Update** can be simulated by searching for the old key, deleting it, and then inserting a node with the new key. + +Naturally, with insertions and deletions, the structure of the tree will change, and it may not satisfy the +"height-balance" property of the AVL tree. Without this property, we may lose our O(log(n)) run-time guarantee. +Hence, we need some re-balancing operations. To do so, tree rotation operations are introduced. Below is one example. + +
+ +
+ Credits: CS2040s Lecture 10 +
+ +Prof Seth explains it best! Go re-visit his slides (Lecture 10) for the operations :P
+Here is a [link](https://www.youtube.com/watch?v=dS02_IuZPes&list=PLgpwqdiEMkHA0pU_uspC6N88RwMpt9rC8&index=9) +for prof's lecture on trees.
+_We may add a summary in the near future._ + +## Application +While AVL trees offer excellent lookup, insertion, and deletion times due to their strict balancing, +the overhead of maintaining this balance can make them less preferred for applications +where insertions and deletions are significantly more frequent than lookups. As a result, AVL trees often find itself +over-shadowed in practical use by other counterparts like RB-trees, +which boast a relatively simple implementation and lower overhead, or B-trees which are ideal for optimizing disk +accesses in databases. + +That said, AVL tree is conceptually simple and often used as the base template for further augmentation to tackle +niche problems. Orthogonal Range Searching and Interval Trees can be implemented with some minor augmentation to +an existing AVL tree. From 4e6c24086107f656a7853f4c33a13904deb1512a Mon Sep 17 00:00:00 2001 From: 4ndrelim Date: Fri, 9 Feb 2024 12:40:54 +0800 Subject: [PATCH 3/3] docs: Add more stuff --- src/main/java/algorithms/sorting/radixSort/README.md | 3 +++ src/main/java/dataStructures/avlTree/README.md | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/algorithms/sorting/radixSort/README.md b/src/main/java/algorithms/sorting/radixSort/README.md index 90fb4410..7e7f9e7e 100644 --- a/src/main/java/algorithms/sorting/radixSort/README.md +++ b/src/main/java/algorithms/sorting/radixSort/README.md @@ -76,3 +76,6 @@ like QuickSort or MergeSort for large datasets with a small range of key values might not be optimal on small datasets that include elements with a significantly higher number of digits compared to others. This scenario could introduce more sorting passes than desired, diminishing the algorithm's overall efficiency. - Avoid for datasets with sparse data + +- Our implementation uses bit masking. If you are unsure, do check +[this](https://cheever.domains.swarthmore.edu/Ref/BinaryMath/NumSys.html ) out diff --git a/src/main/java/dataStructures/avlTree/README.md b/src/main/java/dataStructures/avlTree/README.md index bff9f804..6a48376f 100644 --- a/src/main/java/dataStructures/avlTree/README.md +++ b/src/main/java/dataStructures/avlTree/README.md @@ -43,8 +43,9 @@ Consider any two nodes (need not have the same immediate parent node) in the tre between the two nodes <= 1 too? -It can be mathematically shown that a **height-balanced tree with n nodes, has at most height <= 2log(n)**. Therefore, -following the definition of a balanced tree, AVL trees are balanced. +It can be mathematically shown that a **height-balanced tree with n nodes, has at most height <= 2log(n)** ( +in fact, using the golden ratio, we can achieve a tighter bound of ~1.44log(n)). +Therefore, following the definition of a balanced tree, AVL trees are balanced.