From 85262343f753c2b86860fab31b1313fa98c6ff4d Mon Sep 17 00:00:00 2001 From: Hayder Zaeem <89451982+hayderzaeim@users.noreply.github.com> Date: Wed, 21 Dec 2022 19:37:55 +0300 Subject: [PATCH 1/3] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 85df18d..d207300 100644 --- a/README.md +++ b/README.md @@ -7,4 +7,3 @@ In this course you will learn how to Analysis algorithms like Sorting, Searching We will discus code complexity in Different algorithms like Sorting algorithms ( Bubble, Merge, Heap, and quick sort) , searching algorithms ( Binary search, linear search, and Interpolation), Graph algorithms( Binary tree, DFS, BFS, Nearest Neighbor and Shortest path, Dijkstra's Algorithm, and A* Algorithm). and Data Structure like Dynamic Array, Linked List, Stack, Queue, and Hash-Table -![main](http://attach.alruabye.net/dsa/dsa.jpg) From 5f7ab921bd851995a1cabf3513718160c6a7871a Mon Sep 17 00:00:00 2001 From: hayderzaeim Date: Thu, 22 Dec 2022 00:12:09 +0300 Subject: [PATCH 2/3] this commit test --- test.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test.txt diff --git a/test.txt b/test.txt new file mode 100644 index 0000000..e69de29 From 7519d5bdd541a16a15f3e601becee15647bbf2b2 Mon Sep 17 00:00:00 2001 From: hayderzaeim Date: Thu, 22 Dec 2022 00:15:06 +0300 Subject: [PATCH 3/3] I added examples a lot using languages c, c++, c#, java, python, and JavaScript and add information a lot for the file README, by Hayder Zaeem GitHubAccount => @hayderzaeim --- ClassificationofDataStructure.jpg | Bin 0 -> 22707 bytes CodingInterviews/.project | 11 ++ CodingInterviews/bin/com/bst/BST.class | Bin 0 -> 744 bytes CodingInterviews/bin/com/bst/Node.class | Bin 0 -> 438 bytes .../com/linkedList/LinkedListManager.class | Bin 0 -> 1407 bytes .../bin/com/linkedList/LinkedListU.class | Bin 0 -> 1231 bytes .../bin/com/linkedList/ListNode.class | Bin 0 -> 442 bytes CodingInterviews/bin/com/problem1/Cell.class | Bin 0 -> 424 bytes .../bin/com/problem1/ShortPath.class | Bin 0 -> 2256 bytes .../bin/com/problem11/TreeNetwork.class | Bin 0 -> 1913 bytes .../bin/com/problem12/Mirror.class | Bin 0 -> 1641 bytes .../bin/com/problem13/GraphLevel.class | Bin 0 -> 3000 bytes .../bin/com/problem14/FirendCircle.class | Bin 0 -> 2196 bytes .../bin/com/problem15/WordDistance.class | Bin 0 -> 2152 bytes .../bin/com/problem16/WordSimilar.class | Bin 0 -> 1315 bytes .../bin/com/problem17/Option.class | Bin 0 -> 693 bytes .../bin/com/problem17/WordBreak.class | Bin 0 -> 2157 bytes .../bin/com/problem18/SprialMatrix.class | Bin 0 -> 1947 bytes CodingInterviews/bin/com/problem2/GCell.class | Bin 0 -> 908 bytes .../bin/com/problem2/TripPlaner.class | Bin 0 -> 2515 bytes .../bin/com/problem20/TopMoviesInStream.class | Bin 0 -> 1264 bytes .../bin/com/problem21/MerageLinkedList.class | Bin 0 -> 1707 bytes .../problem3/FindPathBetweenTwoNodes.class | Bin 0 -> 1857 bytes .../bin/com/problem4/SimilarTree.class | Bin 0 -> 1756 bytes .../bin/com/problem5/LCSOnes.class | Bin 0 -> 1584 bytes .../bin/com/problem6/BinarySearch.class | Bin 0 -> 986 bytes CodingInterviews/bin/com/problem7/LCS.class | Bin 0 -> 1109 bytes CodingInterviews/bin/com/problem8/Stair.class | Bin 0 -> 807 bytes .../bin/com/problem8/StairCaseDemo.class | Bin 0 -> 1561 bytes .../bin/com/problem9/Parentheses.class | Bin 0 -> 1472 bytes .../GFG.cs | 89 ++++++++++ .../GFG.java | 90 ++++++++++ .../Node.cpp | 86 ++++++++++ .../Node.js | 88 ++++++++++ .../newNode.py | 77 +++++++++ .../src/com/tree/ExampleOfATreeNode/Node.cs | 13 ++ .../src/com/tree/ExampleOfATreeNode/Node.java | 12 ++ .../src/com/tree/ExampleOfATreeNode/Node.js | 15 ++ .../src/com/tree/ExampleOfATreeNode/Node.py | 8 + .../src/com/tree/ExampleOfATreeNode/node.c | 7 + .../src/com/tree/ExampleOfATreeNode/node.cpp | 18 ++ .../src/com/tree/README.md | 155 ++++++++++++++++++ .../TheImplementationOfTheBinaryTree/Node.cs | 57 +++++++ .../Node.java | 52 ++++++ .../TheImplementationOfTheBinaryTree/Node.js | 51 ++++++ .../TheImplementationOfTheBinaryTree/Node.py | 37 +++++ .../TheImplementationOfTheBinaryTree/node.c | 64 ++++++++ .../TheImplementationOfTheBinaryTree/node.cpp | 52 ++++++ .../src/com/tree/tree.png | Bin 0 -> 10659 bytes .../src/com/tree/tree1.png | Bin 0 -> 78891 bytes .../src/com/tree/tree2.png | Bin 0 -> 22665 bytes .../src/com/tree/tree3.png | Bin 0 -> 12117 bytes .../src/com/tree/tree4.png | Bin 0 -> 5902 bytes README.md | 13 ++ 54 files changed, 995 insertions(+) create mode 100644 ClassificationofDataStructure.jpg create mode 100644 CodingInterviews/bin/com/bst/BST.class create mode 100644 CodingInterviews/bin/com/bst/Node.class create mode 100644 CodingInterviews/bin/com/linkedList/LinkedListManager.class create mode 100644 CodingInterviews/bin/com/linkedList/LinkedListU.class create mode 100644 CodingInterviews/bin/com/linkedList/ListNode.class create mode 100644 CodingInterviews/bin/com/problem1/Cell.class create mode 100644 CodingInterviews/bin/com/problem1/ShortPath.class create mode 100644 CodingInterviews/bin/com/problem11/TreeNetwork.class create mode 100644 CodingInterviews/bin/com/problem12/Mirror.class create mode 100644 CodingInterviews/bin/com/problem13/GraphLevel.class create mode 100644 CodingInterviews/bin/com/problem14/FirendCircle.class create mode 100644 CodingInterviews/bin/com/problem15/WordDistance.class create mode 100644 CodingInterviews/bin/com/problem16/WordSimilar.class create mode 100644 CodingInterviews/bin/com/problem17/Option.class create mode 100644 CodingInterviews/bin/com/problem17/WordBreak.class create mode 100644 CodingInterviews/bin/com/problem18/SprialMatrix.class create mode 100644 CodingInterviews/bin/com/problem2/GCell.class create mode 100644 CodingInterviews/bin/com/problem2/TripPlaner.class create mode 100644 CodingInterviews/bin/com/problem20/TopMoviesInStream.class create mode 100644 CodingInterviews/bin/com/problem21/MerageLinkedList.class create mode 100644 CodingInterviews/bin/com/problem3/FindPathBetweenTwoNodes.class create mode 100644 CodingInterviews/bin/com/problem4/SimilarTree.class create mode 100644 CodingInterviews/bin/com/problem5/LCSOnes.class create mode 100644 CodingInterviews/bin/com/problem6/BinarySearch.class create mode 100644 CodingInterviews/bin/com/problem7/LCS.class create mode 100644 CodingInterviews/bin/com/problem8/Stair.class create mode 100644 CodingInterviews/bin/com/problem8/StairCaseDemo.class create mode 100644 CodingInterviews/bin/com/problem9/Parentheses.class create mode 100644 DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/GFG.cs create mode 100644 DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/GFG.java create mode 100644 DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/Node.cpp create mode 100644 DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/Node.js create mode 100644 DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/newNode.py create mode 100644 DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.cs create mode 100644 DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.java create mode 100644 DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.js create mode 100644 DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.py create mode 100644 DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/node.c create mode 100644 DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/node.cpp create mode 100644 DataStructureAndAlgorithms/src/com/tree/README.md create mode 100644 DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.cs create mode 100644 DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.java create mode 100644 DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.js create mode 100644 DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.py create mode 100644 DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/node.c create mode 100644 DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/node.cpp create mode 100644 DataStructureAndAlgorithms/src/com/tree/tree.png create mode 100644 DataStructureAndAlgorithms/src/com/tree/tree1.png create mode 100644 DataStructureAndAlgorithms/src/com/tree/tree2.png create mode 100644 DataStructureAndAlgorithms/src/com/tree/tree3.png create mode 100644 DataStructureAndAlgorithms/src/com/tree/tree4.png diff --git a/ClassificationofDataStructure.jpg b/ClassificationofDataStructure.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d27612d07e8199baf8fea045024347d6b217dcb1 GIT binary patch literal 22707 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 literal 0 HcmV?d00001 diff --git a/CodingInterviews/.project b/CodingInterviews/.project index 64db0a7..e68bc75 100644 --- a/CodingInterviews/.project +++ b/CodingInterviews/.project @@ -14,4 +14,15 @@ org.eclipse.jdt.core.javanature + + + 1671624664256 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + diff --git a/CodingInterviews/bin/com/bst/BST.class b/CodingInterviews/bin/com/bst/BST.class new file mode 100644 index 0000000000000000000000000000000000000000..a4128127626c8c9c93491452ffb7926038cb473c GIT binary patch literal 744 zcmZ8eU279T6g`v8*KVh2nx^STOp~TnlTgfqAYzMx1*H(lL-t)(P{9M3lH2Z|@Gwi^^oJ0m$8v^qZ zDWnA!I{w(}PEH42bf^Y_Cs62wt_u1p^0hw=CgYKR#;V&vB*i(F8V*^}IJk`)0?mE~ z%L4K)D+fia=<%xpwb_E%a+~0Fi8Ag9q|Q|^Aun;DqZ<-c&D)Or<58@qIaISLQNWVU zZ%J(Hd^Yetn6!p+N&7)KW|R3|tlW=p)TgN~rx#8l*L&q_%d{1zCKtRotEEb`>Wur%%Thu!rgzjXn5 zg+l8WibrK3E>Y55%R3iX`+{vAl`9l??q(}rAzKym(pPE2BD9xcD}qF<=fP97lyOd|ZADT@ z0!;{wM84&^ncz+T58o1;OwAX&V*O67Ren#n7*6*4_M=fqupXG#gbB|@6D@){9EA=D zM=olpYp?6VMnikYE*vxnt*KheS+R;__9CK$_vuX2SR|pyl#X{vD_^J$q4}H^Su7uw zZglki*ZQ5fWTMIcVX|c@_DBm=mSrl-(>UO~%TWRY7TccxfkS^#qV11Mbo{Fly?4$V t==0rY7MNo(!QtaEq05XD&ia4zIIZYRs&t7fy-L}rJgu#FI^)Q|`7f(kN?rf} literal 0 HcmV?d00001 diff --git a/CodingInterviews/bin/com/linkedList/LinkedListManager.class b/CodingInterviews/bin/com/linkedList/LinkedListManager.class new file mode 100644 index 0000000000000000000000000000000000000000..f05dfdc6566210d5f65b93f430b8f34f96901449 GIT binary patch literal 1407 zcmah}NmCO+6#hB{CW(V=5(PvMP_v*xa1W@cpwR>ulq$JrHrf$(*=q++N;)I>cR1e$0` zO)ZyamG@B2+Df1`?-r#!BRxy=fiUbZSQUZ3{Qq!d>7y(yMeJG$R_r0mKco3$$#T$T_}Zq$UpHkbv<_+RN(hoOYB;?(h_-WwoJB6J0pW z;AN>K(4N?#R!a~8X}u#RdUQ67l2uu<i zd^uY6lut*nrn>nTt6eYhU)|t;#AzAOhd~s(0-<7 XlIQyo{sF_lnEo1~)VxV)2)BL#`JpNh2kv^eZPo;$E0$xqs{-L-sY%2O zrd5Oy*PviB27xOYCJ+^vCZV}L>};C-hOudz0yBEIW!O!lZ^_tCM%-;{AdnAoo_4-L z+SE97zjq2RT!LF^G-|5^hmAH>C5!q+#kEpXL0TaFAH6D4$Vg#Xf#rX|gWSGPrDlxK zyoT%2iHKvqqq`G(hCTFb2=pPKIObbvG5xE%Mr(J?==lak+oo;0+)&!qpl2KVG2F$X zf`zdwtnUw8v!kJi5(RgM|ZCeFR6Wm!QWR=2hs!yWdyU0i8A4?4aYOrgM66Xwem z9DF*QBV6-2agH%sN66b#%g0d5;t1MDX2Y1`Jmn#yL?}EviD~Av(P<=bmC?*tW|on_ zH6;DoABdFPi(ip?QxV6QTPq(zJ3+j>M4|&EmSlW{oEJ;th)10D8daepP8tmvW(%ZW zU?iKEAC>i+Ac3@;q$=OUJh7p3jV*xe_WKE<~_}^LWUx; sNOPS--eXRUYWd6)+eQd*3I201b2NeECWW{HWga)(>f}g5pK+6zV|x0i5B`g(c9*%4wAA;z^BTJ+C4IqjIcVI0D-fxs*{Zi-+hY zov5r5Xe?#EPy%86_w8K3DbzDLNAVg_QkoaK(AA~Du=`(OZC@{;_!YzQ4gB63*6?R@&vam}G;Sjl1HhX4% cw(hZV{N0BAT9g8{jo?eWHnM1Nz|2DD3ji}&zyJUM literal 0 HcmV?d00001 diff --git a/CodingInterviews/bin/com/problem1/Cell.class b/CodingInterviews/bin/com/problem1/Cell.class new file mode 100644 index 0000000000000000000000000000000000000000..b370c1cbc57203121ede20a04d8430f9929466b6 GIT binary patch literal 424 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 TAO%i$yBEl0m=H>g=t22EP*#go literal 0 HcmV?d00001 diff --git a/CodingInterviews/bin/com/problem12/Mirror.class b/CodingInterviews/bin/com/problem12/Mirror.class new file mode 100644 index 0000000000000000000000000000000000000000..48b92cd254b7427ccac8950449575114140914e3 GIT binary patch literal 1641 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 JBbMOPe*hEWzE=PM literal 0 HcmV?d00001 diff --git a/CodingInterviews/bin/com/problem14/FirendCircle.class b/CodingInterviews/bin/com/problem14/FirendCircle.class new file mode 100644 index 0000000000000000000000000000000000000000..d1042066b767d69c8b24f88a3718439f60ca9169 GIT binary patch literal 2196 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 XoR$I}a~`k`SM%UALU_Wb0-pW`xtW@! literal 0 HcmV?d00001 diff --git a/CodingInterviews/bin/com/problem17/WordBreak.class b/CodingInterviews/bin/com/problem17/WordBreak.class new file mode 100644 index 0000000000000000000000000000000000000000..086f9396b5a7c80e5efab845e9ac3dd8109d6742 GIT binary patch literal 2157 zcmZ`)ZBG;8GLeaj>?vBgA?#y;}R;2GQ zR@1L-znC^@nl$l4{nExlkfiD7{-Y+Q_PMjGI~W?maPGb5KIfe0Jm>QFzfb-I@H+0R z2nn>MoqVF;I;otQ@9R&@J8ovgHH~Ezia_I%aob4b3_F{cNiCUaPau-9(w^nmhPx`z zFzGv#JS&%&HN8QBx>+l08(zsZ1vH^M`fZF$22HL>`dfO5gf zm=V+KzS!+<;;5Q!fq990@3O=RInM!s0Gvl{l(n+pvGnO1r05V!J%t>LghEsdx%VuWMDzbeeh^iRl@zzRa z3Q}7tCWu(Qc;0o5)$+Y@L?al*WhstHG7(D#ME1gOFg{n0X(@vla$5zuS~5!%$TY6% zcoVbCzTo6?%pw*KuvO7R9phZrF^74|+BWZaNjqcSVKxmL7oxPVdrl2DifL$RSUW7i5GSg|h7=P$vs;bQJIbYcG~kMSotU ztdhwfRTUw~nJen>9D1mZZAyatrmd8>rTdm~S}i;usY*3IiGGlw?SbV} z6`l2r^zxKZsElJ|)+xDZbBwQ!zz!MIe>#uLdeFgHs^LQ`_{%4Xe^pu`XxwFPkh50L z<7R&iJnCMD-o1$(3+rh715MqJ(bT+i1Fa#<`}W>|{Yt<-5U@J}c4xpo60na3?0CTL z3E0O1b|PT+mF?gBN>1`Sf<}J#LBSq0U_bWa0FL4yPO|>9IE2gS#5@iojU#Z-g^zf8 zA2ED~IDSGmenk&nBZBVp^a!VLnyWhW^BQ^ZD5LAKZMu2fhz)kVRZV~ zV_fT5!&^Ti`a9m`Dzk<~xp`W7hzmW^YE{-?57f#QwbyRI4dDU0Byy`F{fRpeZV%IH zuU$iFzPCMGj&oNLt%}6{<=GPkye;tH**CH-h2+V+8~8m%x%89PGo*8fR1K4!bNso8 zB*t)^6PBjs;u1a~)%UpnEq#CBqa{h5DA!vdm6hW|Hh?3F@9{Bjgov2Mr}&H#9K$4f z*(!yoefXSywZv_~7d#E)OQOjZm2ZBhVWB#sF;3={VGPELK8!wf9NFeHIGBM F_a9o6@j?Iq literal 0 HcmV?d00001 diff --git a/CodingInterviews/bin/com/problem18/SprialMatrix.class b/CodingInterviews/bin/com/problem18/SprialMatrix.class new file mode 100644 index 0000000000000000000000000000000000000000..9f0168cb341e235b925859d9b94dbcaf9ae010a3 GIT binary patch literal 1947 zcmZ`)T~ixn6n@@hci$w05VKomdA)N5_wmsz}Fce}^;9)PLYO#%FhvLS}#r?|a^J&Yqm-dCt4}XYB zPM+Ms1gqx_t02(cx0F2WB+d2;*@=EaXch=8%|;*)c9*s&bhHaJ5J$oB(GXz9SU-Vv}MQ*+>+lxXj#j zqcrbkVe2v42&jfjGCL&q%*m1M84j6QaEww-m}=kkq*HZi`k8$0NKaK# z7;mp1sI86KPz@X>^5ii!rdXvh?HDWX%o!WrL`sZFjB}3CR<>X`Wt)SWIB{@}ujx(` z=kPqPNAVI~CXh`dS2j~??%>oW(9^w!#eL$HC|*U9Oc|@IC&)muBPH){x>L)ET(j(w zbF=uafFQdvXH-vqV7i#AIz3BRd^}w&+biaE%e|1zNALNNJ9ZpVHozAHxKcc5TqRGV z+y!@a;66g%(+D8KHNqWCP!L7~t*D>Gy^*IdPNB&!AbOdl(sx%LAeITr-y)fylFBG* zDx+$tj3!g*jN*Ai^v38?W0L+@hym3L#KLYQ;zkLhFs!8*Hl5W^ib z<0I~$qRm4&z&s+s(-`BvjuAY=H>qIm1w4x@MiXWR|>^XW)BT&J6 zP$iz1xF)H-=K=Ow$eVC(DF*KG??@LV9s7I2C`Otd1$cF*P0>aZPO( zAM5Iv+(p}9yk|t0LqB6?53_Gw|G!j_6u_f^x6&P}f+fnxWK{ zsIY{(!wlsxgEiE{8eYcdm519wv8`0LRk5vAdURz65na`_&njz!-w}Y%?lRGW{~>gc z?N0LAg;sQPJ&!hHwB_=5a@$tS+X zWqivD`_#al#SL#gsLmqktEv>jPnh#mir`1gBSm^+_y#vlL7jXMQOIvBFA5|-?wyXGJLer!n(U4$yz|iR10#n>N?2_$L?awli z)@WjU^1&aao>?%~h%a-`y)*ZobMKw+KR$f{@C0QO34z5<(02x5&{ncvcAizGQYH+6 zg=6>Bb(HJ(oJRXtb|QgP7`(0dUHMKx)aZ5sHE}KFokWeJsuy|kL}0ldCl4b}Is0Mg zp4E9>5lA<^p6^D(Pzu=7-t3NpF>B3_WKV{bJtofVdcGI!39J=swP}f!QcJ-3&*k*0 zI>V?2U70}=Sql~x1(L;5D-D61g)5lRXvKnw857q8mZo%-!78%)-MWPo(%Rjya2+=& z+U<7tl@iDoFG;QjN^zQA;8#koGPs4?CN>4Kf5ts&+`=8)6);a-HI$7bDk;`VQ|6;7 z?^!6KMERuT_$PdqmPamu`MT%JgJHid!xt|1&E?mFj;mU3=xKivG@{oYmzb;n`!l$T zmA_NY2EWs0n~~dj^V}Uw%4C|sFzm>uo+iq~A8SW9$(AXUKQKwlArrC7iRB3CWf)7~ zDv{t?W{JmDt+$Myvl?DY|r?7|4k_GhfVyg+`0we4@P><_f(C>&}~_=ub5 z*gAaAGy^uzO>PS;Ymg>Qk~z}kd2Wzm3t5zr!+pN6$5eQLZF(e)C5sqo(TNyo*-7jW fTa>I{rC2u!hd2xIlO+ukLI{(~()~WW>cuB z_Rq)Rb8rf_eI&eV4L4*YYwsk9!PaC%d zL_#_u8ltWvWo2E5Gt^I;9WI3l2$#k0ABv*;Fc zvJS`as*2-PWglNGIz~>TTuyM5RU*6PxTX~wm2|TrhMtQDz>;kpwwzEwcW#DetWrK5 z#3{V4f@0a>@>4xU!y6c25^mA5taMYjf~ECBlSSRm5YLWHbU>vXZOrqzSbN9)@xKtDs&k2`v5?xJ3BRj%T!K;5{R z$?HzZW?IS3kA^ zQHe@DuEh!B3X&?`S*w=21J;G3VG>j1Sx=Mgs!Emh+&QV@U7jZ!>w6_UT{5$2!w%p& zxBIBnhFSFF(G@yF!RGapaWWLdRp{~v8IY}%hBQc6tzIY?c`n#pDUG!SE4ZjyDlS80 zG~9&AE#z39^Z9L97Fdv~pVN>a_kkqr!{>M^538)T zXDXM3Je|Tv^6VT4;1dC!hk}fWS%KiVRkBmYIa40s+cs{69$8(UZ4?6U5I|vz$3EXG zdodY--jP3f=RzJ zl2rKA@TpZs#*>P)N{id8k-c?aZBqiFSO;{&xuBA@;fCL_7j;8iS0-{f09*OL}H7f^#@e zI`1HiH<2LwZ*hbq)AL=RZ^*Uy{>8kCiz@aUMnGO}^bFJEV+=`iJ#F5tCww_g#h`aHci*%17QhA?f?J) literal 0 HcmV?d00001 diff --git a/CodingInterviews/bin/com/problem20/TopMoviesInStream.class b/CodingInterviews/bin/com/problem20/TopMoviesInStream.class new file mode 100644 index 0000000000000000000000000000000000000000..a45693434324459cbadd4e57fd9c83deee6f26ae GIT binary patch literal 1264 zcmah|TT|0e5dKb+Hfae^xfBp87e(7r8^9Y_EGmkVnPSy4FqNlJA_UT;rYSS{>>qK) z8K3n57c#J7wKk(_NGAn@-W&F>4It`Tx+!5=2EeZH8E4BY#GR zNSgL`Hn|o7!#M>#=w(p$yd5g!neNdUQB7=Unom-9w+XEGFA3;U&9C?LQeZ=qFvKw6 zW7R#=QlGe{mW|Fq;vvp8C zov+NlE-tiaeA_-9vNOD#%cHjdQ>3G`23TV zXs6Q3Xbq;0Ait-d03u}hF({yetkMXewUc&XbfKF({IU&^;(^&{_;aKrgbF25DwKk9 zp%e-hN)r9c^dAk0WF&6nU?D#hI!5#ismrI;fi&fvp~t}yV~wonLqF}(#3qIT!j$>r zX<~n&dm^3Af5Kqt2U_O>RvfxO!URd3DY}EpR-UZvWgGGV#bbd`B zQ}Q+~9cknY^q^OupCPQ3R%65R?@7iM7%Y1=>8wfLR_FLK6Fjn;0;kLGM^WSp4Qaaq zqtg${9W>Rzx7~U%zoub8U^rB?0^2Ec63}5Hr(sxNpyRjf23FnjbqrzDz;S#mpzTPf zWvxC`Pb}vXZ^X7m9pgBmVWLe(_|7fgm%B{^pWq}pkxfOJz+@N5h_YfFGltg;7|_IN zMb{aDvFYf=P+RgGha}sc%gmJ3rv^U5B)OKGn*t-TZK58<{Cyn)=L}3EFQ7LpUlp+# zklU`%9bOokq)NX|lc9HTDv)xh8cpCzI4eb0Id`|)B`v+vW8rN_XBbL$kPB)ZwWB1F*}WUGC6@N6)D{N E51(9^;s5{u literal 0 HcmV?d00001 diff --git a/CodingInterviews/bin/com/problem3/FindPathBetweenTwoNodes.class b/CodingInterviews/bin/com/problem3/FindPathBetweenTwoNodes.class new file mode 100644 index 0000000000000000000000000000000000000000..ee7f8efc8926c49073bba501fd564726f96b4f5e GIT binary patch literal 1857 zcma)6-%}e^6#gy=>?SM_NTHTeY!xs8ODy=KC5SeyXle@B&{ROQOL7TIlikc_L#HqP z3%==$Pma?WpG%$4k(oX_{!!|8HwhsF&X~;Xp8M^0?m6E%=ia~m{^K=(n|Pw3OJE}J zloJ)#*(u5Ld}7(M3u~sgmy+I7Ded*A&WclzRSiLb$i8`CCQ7DVOswwg%e*JhUG-$8 zDj?DVy(O#a<*cgZ$%4Re#%I?&tCYCyy5_SCza|AjS*vK9Ud@#P)8}y(8=xO1ZF{mP z-Q*G-^~HS2vMp~(AP|e^1cG;%SqK6H2D;IsVNf7?PS7wSh#I&6L!f8T-$Hqf7|@{8 zJ7d{$rB>dN?z+h$2n=PMyjjYbuBFyK7)Ah5hV=F4?#mns%Di6($(<+%j=KBLKt)SNLBnMw~C!7T`?96B(X>*vr>^ZRgA^b@iXM+ z_7pvbB?F(}Q|j@YMr?r#v9m7Zrf^rooz^^b>M-z`N=&OLX(e07=dAESV{Whd)9wpM ztMu*(Tt6+KG55){Fci%n04u!aX3z7jB6v!JptkVOwq z*nwH9$uJ(`kp@ovV7va!(_!FiY*3F+T-{aU)=|gSAyVgH%fL6-W(D((?Qu4lXh(xu z`Zg8$J2hk5Dm~M{j+)1iYZdoAm7PKh2BbpulHBz{PIFb7ZhkMPa#pilb6sgSzx8E3 zGymkiS!o`#aMr20dAV$lA67~_n5H8T^@XMV@EIwogMj7YczMM5W5Z_7HNX)Pqu z)3ki#72*vy8i#oI7;_s#?;qjAL-f~itB#NBxZT2+eSEl%FB*7T&I08kV#I4D;+=JK2}(Skh*r7#rTsP zRgA4e3{%1CE3DVC`7_2&ufKi7#DkC7tl!Y9%mPit9{mNu7o*C0j$ZYCOu_#8*Ty=} zwGtHY+d4-v;MEzy1RFbvDgNUe;v1NzpcyRi{!3vN_juVoAiBv(X$#q+Ks8%T7DetL Tut!@%cU;p42Dr4i?85%P@nWBs literal 0 HcmV?d00001 diff --git a/CodingInterviews/bin/com/problem4/SimilarTree.class b/CodingInterviews/bin/com/problem4/SimilarTree.class new file mode 100644 index 0000000000000000000000000000000000000000..415202b211d72c5477525733e3b7447a3d52fa4e GIT binary patch literal 1756 zcma)6TW=dx5dMy{&U&3q>fGEW=_L)l*s+ssN*YQW0;EtdI8MO9y>ZdT*|?jmy=J|x zsE~MrH+Z8GzkuhW%B`rxD-u5n_|EzkS4P6J_RN_x^UZuSbIxCX|NaMnoA^paNZ?G# ztr#`W-FK|Ys!^~jwqtsGo@J>}1Y$?#BhzrqYT4M?Ke9@`!0?7$wf#+jp+vGMpxkl~ ztSE+{=?G(3;8f18TKPt0-}3fMq6$pp+>+@OP0yD5wo>sQ+I4~1+<(Q-5W8a9Re^Zo zL9Ula!T0QHIg>1^7#A3k?)!D$*edKr5rd}jGo@o1ar%3%%Z$f@7}6-uTr<+_jE))1 zl7o40zyuT7eiI3PR$wZK+VE}1AgN>PAZOS8DCVF=A#g#*JT3~T);BfB^+@z;q93M} z^(+3&Ttd92;}R~joYvP3(_tm16DLTvik(T`*Kid{6^Xu96du=otD<8ODN=A7dphpRz?x^59|n=-WovkzRqgCfv_c?S za2sC9x^2rFA3O1mEX#y&kr!r&&kp!y;uz*v<<8(LxP}*>Bl46&2vL6JF%ZEBzk17n z>nL{`#&C)nI*Vh1g{gb;60v*F`Oc)&)H6&raXK~J5n>&wZL^(@4X0a1>8_x*H7_wo zoO5~Uyz~O++xvAzp3f-MEX^oQEc}A8-*9Cj-Nf>*7?I*CMXpOttZ|V>Ym$u;u*qXG z;1MB%appfu2A3$MF@ZIny^SeWJdRzQ#$7hRq{R`=qK~y3o^MeK5$!fMi9JNT8+eD3f_G^f@1AXS&$f7Wi)S+k{ljo! z74NBt1^+pfbHQ?J^0lMu`!ov?T6XVyN+GTbi+@6Sy7&wqq*$XAh1?75Hc`Ao@vhYM ziZRRPf=`!%6e%pTBnHD?Blb!_Or}RfJYb^ow}8)?x(HHlje^u{Q6m%PG=(XCK{13c F{{_oag=qi) literal 0 HcmV?d00001 diff --git a/CodingInterviews/bin/com/problem5/LCSOnes.class b/CodingInterviews/bin/com/problem5/LCSOnes.class new file mode 100644 index 0000000000000000000000000000000000000000..ad3fd0f4b39bdc2b871766771e2e8c36a3fbbba2 GIT binary patch literal 1584 zcmZuxT~ixX7=BK&9}pKCK9<(D6xvEjAQEdSR6w-QVzHsr2E$-)Si%vvZZ>hV=@f6A zad5_8;H6WX&T#42i{P|Q$MH%#^bNCe%|NZ=l?!=2H*;o zOhg2_^2I{B6ckrIS-70e%w!jQSvH{w#P2!xowVop>*V9}vRfsRZu?|3;UaMiu>sD+=pWr6O@QL!iJx8S%w z<%zqQgB-G9;QH$m$()IHfzFzs61racY7jUZ8Mhq95JzhaUFbGp3$!2D&iSESmw|=j zI3Zx(cf5*R_(VmROCAc*P@7PWPFgsH)2!54TNAJoht%q5Oe8;U#ToRO=xxF(yHO5h z!NOUbqjj-D*zCHoTTI_(4IwL$PJvNg#|0Dpd&M-1Ees&RTuaKrBN|7hkW;A+S{Oo# z!Pcb;)?8B~Sq00mg*4t2XrafPf}qyNIpyLl3zw8gE4yDv6PE>!AD~x9e!Aj%YcgoT zn1EGq9%SX`6`7ageKCySZAF0b|0TKKF{LqS;T@1UhEpm@pOBtz&a){9u^GX87OrBN z>4wF+kYr69Zdb#8#?*V=ABY)N=(d} zxWRDQVkOASSyxSy)tJv=)f_U632>Bw2u~b9?j~<(eg(h!;0{`TtchdXm6(rsg}c=_ zTWI606|dqLUuYaLpw*nbh{t}8El0J5WsS?=YT=5jL!76~Q^c2d&@msKijHdAxIScS z!`egiZbn7VcerG0L(jCehZs!t{DjUbUR&D6849fZdrDa}WYMWjO(>JC-6xOHld9r8 zy+%j%ZQM-RdKJlE&{f47qlT?(D->V+9>%62Y+Y~Mx^07s`pUlQ3Uv)zdj!)qMzu{n zV(ZFoYxgk&JjKXz$LJ2O*jg16RlHlpi~>r70?Oy)D^Pj~(*U7K5}Y*JF@_F|qZ99Q zmTsdPS^iFzZ~`kh36C~D^&X%PU$Qe_;T*mpF~3DWwr~NDkiZZ0^ead8cckzK<$vKK z{>F5zA$QQim@jZ0v;6krPe!@HmJHxI=I{YKoWyUqi3~fQ;y%x%F-j4)YNxNUSbNhM zaSRK5Gniw&(RCjm(#IXX^dq**a&!|}6N@I|g0whqwMAZ{TfD?6(en>ticlX>IfC4O DW(i>1 literal 0 HcmV?d00001 diff --git a/CodingInterviews/bin/com/problem6/BinarySearch.class b/CodingInterviews/bin/com/problem6/BinarySearch.class new file mode 100644 index 0000000000000000000000000000000000000000..20ba660aad41d835f9576e56966cef1b01cdbccf GIT binary patch literal 986 zcmZ`%O-~b16g{sq(`jpgfl|J~B8ml+8W)X*(uF8~q&UPXu{1FZ?a&UkGtG3W5|^&r zyJ4fokg%48CdTjs{88eWsR@$cEbiQoch5WLzWeL?q1O}+)7=AETHWguZ&E?uxlB8d)KUZ0^yuxTV7s3O3!Tw$SY3Oj6p&)4h3O> zzJg_&k2}q6(|u|XR$!puRE)-k;aYzDHz|8{t1U2I_%DGaf;SDz78pvG3#UYio@?2) zrMZnL`jJpEaE4}aukD%5I0lgErN@rb&8(aaXNODiVU|#*@<%mk*?vo z0-^FlPPrXCf`DKkHJsOMty{G^gQi8Cu+?65I&{RQKu^&#DlgZJRxn!?(<){JVnwIp zR?Jn)e}n#ipLWsLg=r9ss{n-P@$G0;Mj8GE|H}M#M7{>)7_DCh8!phsy9fC1VH8C# z`j}y}Xh9A@K54O^v63X~B{`y(6fLHg!rGu-QneYq6w%UpNegQ^T2))8jcA*+QLU;M zwB=fuV00Im8MRlU1d$l~op!%HqW5ZgDCo&IYLi z#FL5-atJL*d_jbXt$Z@Pe{$r@lHkjF!c74w-$n#Eipx{fUCO#oQIEJ_Ye=BTGi4<4 z0>h|d1TAjJ8;s#C#_^8(@E()+fGOZej~UMG%w%3RM$Ky~G;g^5X2xvLCsG96Q$;FS$l!)Y}_n;+R}0ax>IlR|Kk^Y&vHuH^hN|70zFd7O|z)D z-Uq8>@04xVb))D+(m>ZK>W!yybfbs-%`NGzG7&Acp3VjMOL6p}pO&(6O8!;L z0$r)|Pl&yVIRmo-opsiy^NHhDK+LEFDVEt9O?oAEuk(Ti(desvRwi+d7+b4bPEqX( zh;@OOS@k^S_&GL&njBf~u^`GZIW#fWCn!(j)>81Lx${_7>eFLjK_FUitDdPITEU1# zIIzzct&Xg<)yAv%&;QvU)Ysm<$z{DTin*3kR; z`1dyq{J_Yo#MlwWlX?y58m4NP35bPB3V4JBWsJ8L(re|Zjj|mb{JJ=_J)Gtt%2D)U zobx+{e$3!9=BQm{@lS^5a-<36D4h;vLZBYOx>Pfz<(SY6va6|9p?{Pl;wn%x-6d4|Y7z;Z zCX(Rg-8q;aW*ogp%ZW_7hYTzqs7UEU!bYo?hwHinLMK0$U(*0e$MIO&D5B=zK2`|D zmOHSpN?6U&Z=;S{1%x#R7M4u((7`>FO=8o*79O!sF&-ak$js? z>7C$-@_2)IB*KA6l-Vy1OZrUB2#w(X*|Ys?|3a=V{=n>hoF*grMw!BP_Eb8iDQ<&> z@tZ2}pDp5uyTTH$mF(2!h}d+8Z_H1Y@qja*7-evK-Yu%$chukCqH&F;w{?wm?+cpk z8*H4KfWP&x*uKH;>1PHM@ru{YjH-eXQ&nN3!4%s}(#A4coZp!jhYOE)Op}SDEHd&6 Uc+IiH(oD|c3Z{WJ?+V!a4b7ER4V!ws+w~fh z_g1R<)`vdyrK(h^;T41&sgbHa_a9Y4v}a}=@_~7o-I+P}+X^DFCiB@{?ZIyEPp5{TvU zivrrTw`v=RA!Q2A%}B1^80E~-l&JRYvMdc$>}v%j!eYpc!k?kC8RdC zP~3OINN4q;3IsZ|}v zUvvF%L$%1Vj!A*OgVnpzaH^|zkOUj)aFq4@*9(qo*Cz}VaYMjw}Ca&Td zC9{0rt}(fR-0WU;BXG-2QCeI#aRajg${3MQE|;#erpnqveyVI_Kc%uRr%R@11`w2v4dGjJ{mv=|2X7ab?yrM3V!3~ zwvc?Tt_`m8TCVSLH6sAOhqz1OFpltq#^QS-B+0Yn!WOl;!1y3rnu#WV5#-_fh6GI51z zF)2j+(O4pr*hM7vBIxF`U;g`<+}kKFb$_vii^rR|(!@*?U&{P6$oy_`w!ps*W@Rw1 z6U=Imc@1&iN72Q`>Bc2urqP2L^kE)HaSvHM#sI$Mv+&#qqJS)9CC`WU9Bi?o-jN0#?#`G6;V b&|YIm=;#!$a9T(D6;6qNRb`iy!{z@0&S`6s literal 0 HcmV?d00001 diff --git a/CodingInterviews/bin/com/problem9/Parentheses.class b/CodingInterviews/bin/com/problem9/Parentheses.class new file mode 100644 index 0000000000000000000000000000000000000000..42a11c95db99dbf95f8d0d76e63067f0b588a576 GIT binary patch literal 1472 zcmZ`&U2oH76n@^ushiZLA#F-mno&0BY}%3*)&fgcMzeNwOFy=-6go|sYfNL7*p}@e zdW&|oX;;&bdNaXQueXaZfrPl`uk0U86WwDcT@r~Yir@E~^PI2eJ?HhC=Pvl-lZYXqAdX&v!J=iG8}-_*>D|&9RUln-482;`Ju8%3N-3yVzQ9=V|MKSD*F<6;CSo04i&%n)Y5mU(&r6hP z-|9b(iwbg>6-b1=mBV7A5bQ3EOA0RILpEXgD>XORk1RV0Ea0k)E8RTp`+-?ga19?3 z<>Nrd*3~t?p7D=n2R0x+at2XR0GkZuIp~J7&2A` zk|n3^8Rn`LZcnOXCohHriL+o~Tw$PxH!dB&GNl|(!83m08Tx*Y%t?MjGnMG)S83f9 z3{Xno1O}<0v-pi6d#QVzP8DAuedig5*JDeE7@D5SHjw!fryDrC{X%uEAw2S~(1@E`?kn;vrqN3S!|0mh^I zG3dk}m`~>$`1lb0;kCeP*o}m+n;q^(Sb2<6KYuCql;x?ilUYiaIo}Hy#xikhIE4~M zQRbR|i!pqM(=dpx5aZw+9^pKG#3X*^s{M-jh@qPim5;H4RpyD|7kq}B root.data) + root = root.right; + + // pass left subtree as new tree + else if (key < root.data) + root = root.left; + else + return true; // if the key is found return 1 + } + return false; + } + + // A utility function to create a new BST Node + static Node newNode(int item) + { + Node temp = new Node(); + temp.data = item; + temp.left = temp.right = null; + return temp; + } + + /* A utility function to insert a new Node with +given key in BST */ + static Node insert(Node Node, int data) + { + /* If the tree is empty, return a new Node */ + if (Node == null) + return newNode(data); + + /* Otherwise, recur down the tree */ + if (data < Node.data) + Node.left = insert(Node.left, data); + else if (data > Node.data) + Node.right = insert(Node.right, data); + + /* return the (unchanged) Node pointer */ + return Node; + } + + // Driver code + public static void Main(String[] args) + { + /* Let us create following BST + 50 + / \ + 30 70 + / \ / \ + 20 40 60 80 */ + Node root = null; + root = insert(root, 50); + insert(root, 30); + insert(root, 20); + insert(root, 40); + insert(root, 70); + insert(root, 60); + insert(root, 80); + if (iterativeSearch(root, 15)) + Console.WriteLine("YES"); + else + Console.WriteLine("NO"); + } +} + +// This code has been contributed by 29AjayKumar + + +/* +Output +No +Time Complexity: O(h), here h is the height of the BST. +Auxiliary Space: O(1), as constant extra space is used. +*/ \ No newline at end of file diff --git a/DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/GFG.java b/DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/GFG.java new file mode 100644 index 0000000..6d6d408 --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/GFG.java @@ -0,0 +1,90 @@ + +import java.util.*; + +// Java program to demonstrate searching operation +// in binary search tree without recursion + +class GFG { + + static class Node { + int data; + Node left, right; + }; + + // Function to check the given key exist or not + static boolean iterativeSearch(Node root, int key) + { + // Traverse until root reaches to dead end + while (root != null) { + // pass right subtree as new tree + if (key > root.data) + root = root.right; + + // pass left subtree as new tree + else if (key < root.data) + root = root.left; + else + return true; // if the key is found return 1 + } + return false; + } + + // A utility function to create a new BST Node + static Node newNode(int item) + { + Node temp = new Node(); + temp.data = item; + temp.left = temp.right = null; + return temp; + } + + /* A utility function to insert a new Node with +given key in BST */ + static Node insert(Node Node, int data) + { + /* If the tree is empty, return a new Node */ + if (Node == null) + return newNode(data); + + /* Otherwise, recur down the tree */ + if (data < Node.data) + Node.left = insert(Node.left, data); + else if (data > Node.data) + Node.right = insert(Node.right, data); + + /* return the (unchanged) Node pointer */ + return Node; + } + + // Driver code + public static void main(String args[]) + { + /* Let us create following BST + 50 + / \ + 30 70 + / \ / \ + 20 40 60 80 */ + Node root = null; + root = insert(root, 50); + insert(root, 30); + insert(root, 20); + insert(root, 40); + insert(root, 70); + insert(root, 60); + insert(root, 80); + if (iterativeSearch(root, 15)) + System.out.println("YES"); + else + System.out.println("NO"); + } +} + +// This code is contributed by Arnab Kundu + +/* +Output +No +Time Complexity: O(h), here h is the height of the BST. +Auxiliary Space: O(1), as constant extra space is used. +*/ \ No newline at end of file diff --git a/DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/Node.cpp b/DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/Node.cpp new file mode 100644 index 0000000..a73e523 --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/Node.cpp @@ -0,0 +1,86 @@ +// C++ program to demonstrate searching operation +// in binary search tree without recursion +#include +using namespace std; + +struct Node { + int data; + struct Node *left, *right; +}; + +// Function to check the given key exist or not +bool iterativeSearch(struct Node* root, int key) +{ + // Traverse until root reaches to dead end + while (root != NULL) { + // pass right subtree as new tree + if (key > root->data) + root = root->right; + + // pass left subtree as new tree + else if (key < root->data) + root = root->left; + else + return true; // if the key is found return 1 + } + return false; +} + +// A utility function to create a new BST Node +struct Node* newNode(int item) +{ + struct Node* temp = new Node; + temp->data = item; + temp->left = temp->right = NULL; + return temp; +} + +/* A utility function to insert a new Node with +given key in BST */ +struct Node* insert(struct Node* Node, int data) +{ + /* If the tree is empty, return a new Node */ + if (Node == NULL) + return newNode(data); + + /* Otherwise, recur down the tree */ + if (data < Node->data) + Node->left = insert(Node->left, data); + else if (data > Node->data) + Node->right = insert(Node->right, data); + + /* return the (unchanged) Node pointer */ + return Node; +} + +// Driver Program to test above functions +int main() +{ + /* Let us create following BST + 50 + / \ + 30 70 + / \ / \ + 20 40 60 80 */ + struct Node* root = NULL; + root = insert(root, 50); + insert(root, 30); + insert(root, 20); + insert(root, 40); + insert(root, 70); + insert(root, 60); + insert(root, 80); + if (iterativeSearch(root, 15)) + cout << "Yes"; + else + cout << "No"; + return 0; +} + + +/* +Output +No +Time Complexity: O(h), here h is the height of the BST. +Auxiliary Space: O(1), as constant extra space is used. +*/ \ No newline at end of file diff --git a/DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/Node.js b/DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/Node.js new file mode 100644 index 0000000..a5b9187 --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/Node.js @@ -0,0 +1,88 @@ +// JavaScript program to +// demonstrate searching operation +// in binary search tree without recursion + +class Node { + constructor() { + this.data = 0; + this.left = null; + this.right = null; + } +} + + // Function to check the given key exist or not + function iterativeSearch(root , key) + { + // Traverse until root reaches to dead end + while (root != null) { + // pass right subtree as new tree + if (key > root.data) + root = root.right; + + // pass left subtree as new tree + else if (key < root.data) + root = root.left; + else + // if the key is found return 1 + return true; + } + return false; + } + + // A utility function to create a new BST Node + function newNode(item) + { + var temp = new Node(); + temp.data = item; + temp.left = temp.right = null; + return temp; + } + + /* A utility function to insert a new Node with +given key in BST */ + function insert(Node , data) + { + /* If the tree is empty, return a new Node */ + if (Node== null) + return newNode(data); + + /* Otherwise, recur down the tree */ + if (data < Node.data) + Node.left = insert(Node.left, data); + else if (data > Node.data) + Node.right = insert(Node.right, data); + + /* return the (unchanged) Node pointer */ + return Node; + } + + // Driver code + + /* Let us create following BST + 50 + / \ + 30 70 + / \ / \ + 20 40 60 80 */ + var root = null; + root = insert(root, 50); + insert(root, 30); + insert(root, 20); + insert(root, 40); + insert(root, 70); + insert(root, 60); + insert(root, 80); + if (iterativeSearch(root, 15)) + document.write("YES"); + else + document.write("NO"); + +// This code is contributed by todaysgaurav + + +/* +Output +No +Time Complexity: O(h), here h is the height of the BST. +Auxiliary Space: O(1), as constant extra space is used. +*/ \ No newline at end of file diff --git a/DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/newNode.py b/DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/newNode.py new file mode 100644 index 0000000..19f709a --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/search/IterativeSearchingInBinarySearchTree/newNode.py @@ -0,0 +1,77 @@ +# Python program to demonstrate searching operation +# in binary search tree without recursion +class newNode: + + # Constructor to create a new node + def __init__(self, data): + self.data = data + self.left = None + self.right = None + +# Function to check the given +# key exist or not +def iterativeSearch(root, key): + + # Traverse until root reaches + # to dead end + while root != None: + + # pass right subtree as new tree + if key > root.data: + root = root.right + + # pass left subtree as new tree + elif key < root.data: + root = root.left + else: + return True # if the key is found return 1 + return False + +# A utility function to insert a +# new Node with given key in BST +def insert(Node, data): + + # If the tree is empty, return + # a new Node + if Node == None: + return newNode(data) + + # Otherwise, recur down the tree + if data < Node.data: + Node.left = insert(Node.left, data) + elif data > Node.data: + Node.right = insert(Node.right, data) + + # return the (unchanged) Node pointer + return Node + +# Driver Code +if __name__ == '__main__': + + # Let us create following BST + # 50 + # 30 70 + # / \ / \ + # 20 40 60 80 + root = None + root = insert(root, 50) + insert(root, 30) + insert(root, 20) + insert(root, 40) + insert(root, 70) + insert(root, 60) + insert(root, 80) + if iterativeSearch(root, 15): + print("Yes") + else: + print("No") + +# This code is contributed by PranchalK + + +""" +Output +No +Time Complexity: O(h), here h is the height of the BST. +Auxiliary Space: O(1), as constant extra space is used. +""" \ No newline at end of file diff --git a/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.cs b/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.cs new file mode 100644 index 0000000..7be3ab0 --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.cs @@ -0,0 +1,13 @@ +// Class containing left and right child +// of current node and key value + +class Node { + int key; + Node left, right; + + public Node(int item) + { + key = item; + left = right = null; + } +} diff --git a/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.java b/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.java new file mode 100644 index 0000000..2af7a3f --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.java @@ -0,0 +1,12 @@ +// Class containing left and right child +// of current node and key value +class Node { + int key; + Node left, right; + + public Node(int item) + { + key = item; + left = right = null; + } +} diff --git a/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.js b/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.js new file mode 100644 index 0000000..b1d5627 --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.js @@ -0,0 +1,15 @@ + +/* Class containing left and right child of current +node and key value*/ + +class Node +{ + constructor(item) + { + this.key = item; + this.left = this.right = null; + } +} + +// This code is contributed by umadevi9616 + diff --git a/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.py b/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.py new file mode 100644 index 0000000..9327a85 --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/Node.py @@ -0,0 +1,8 @@ +# A Python class that represents +# an individual node in a Binary Tree + +class Node: + def __init__(self, key): + self.left = None + self.right = None + self.val = key diff --git a/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/node.c b/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/node.c new file mode 100644 index 0000000..1eceb40 --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/node.c @@ -0,0 +1,7 @@ +// Structure of each node of the tree + +struct node { + int data; + struct node* left; + struct node* right; +}; diff --git a/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/node.cpp b/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/node.cpp new file mode 100644 index 0000000..dabc738 --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/tree/ExampleOfATreeNode/node.cpp @@ -0,0 +1,18 @@ +// Use any below method to implement Nodes of tree + +// Method 1: Using "struct" to make +// user-define data type +struct node { + int data; + struct node* left; + struct node* right; +}; + +// Method 2: Using "class" to make +// user-define data type +class Node { +public: + int data; + Node* left; + Node* right; +}; diff --git a/DataStructureAndAlgorithms/src/com/tree/README.md b/DataStructureAndAlgorithms/src/com/tree/README.md new file mode 100644 index 0000000..5e04190 --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/tree/README.md @@ -0,0 +1,155 @@ +# Introduction to Binary Tree – Data Structure and Algorithm Tutorials + +A tree is a popular data structure that is non-linear in nature. Unlike other data structures like an array, stack, queue, and linked list which are linear in nature, a tree represents a hierarchical structure. The ordering information of a tree is not important. A tree contains nodes and 2 pointers. These two pointers are the left child and the right child of the parent node. Let us understand the terms of tree in detail. + +- Root: The root of a tree is the topmost node of the tree that has no parent node. There is only one root node in every tree. + +- Parent Node: The node which is a predecessor of a node is called the parent node of that node. + +- Child Node: The node which is the immediate successor of a node is called the child node of that node. + +- Sibling: Children of the same parent node are called siblings. + +- Edge: Edge acts as a link between the parent node and the child node. + +- Leaf: A node that has no child is known as the leaf node. It is the last node of the tree. There can be multiple leaf nodes in a tree. + +- Subtree: The subtree of a node is the tree considering that particular node as the root node. + +- Depth: The depth of the node is the distance from the root node to that particular node. + +- Height: The height of the node is the distance from that node to the deepest node of that subtree. + +- Height of tree: The Height of the tree is the maximum height of any node. This is the same as the height of the root node. + +- Level: A level is the number of parent nodes corresponding to a given node of the tree. + +- Degree of node: The degree of a node is the number of its children. + +- NULL: The number of NULL nodes in a binary tree is (N+1), where N is the number of nodes in a binary tree. + + + + +## Why to use Tree Data Structure? + +1. One reason to use trees might be because you want to store information that naturally forms a hierarchy. For example, the file system on a computer: + + + +2. Trees (with some ordering e.g., BST) provide moderate access/search (quicker than Linked List and slower than arrays). + +3. Trees provide moderate insertion/deletion (quicker than Arrays and slower than Unordered Linked Lists). + +4. Like Linked Lists and unlike Arrays, Trees don’t have an upper limit on the number of nodes as nodes are linked using pointers. + + +## The main applications of tree data structure: + +1. Manipulate hierarchical data. + +2. Make information easy to search (see tree traversal). + +3. Manipulate sorted lists of data. + +4. As a workflow for compositing digital images for visual effects. + +5. Router algorithms + +6. Form of multi-stage decision-making (see business chess). + + +## Binary Tree Representation + +A binary tree is a tree data structure composed of nodes, each of which has at most, two children, referred to as left and right nodes and the tree begins from root node. + + + +A Binary tree is represented by a pointer to the topmost node (commonly known as the “root”) of the tree. If the tree is empty, then the value of the root is NULL. Each node of a Binary Tree contains the following parts: + +1. Data + +2. Pointer to left child + +3. Pointer to right child + +## Basic Operation On Binary Tree: + +- Inserting an element. + +- Removing an element. + +- Searching for an element. + +- Traversing the tree. + +## Auxiliary Operation On Binary Tree: + +- Finding the height of the tree + +- Find the level of a node of the tree + +- Finding the size of the entire tree. + +## Applications of Binary Tree: + +- In compilers, Expression Trees are used which is an application of binary trees. + +- Huffman coding trees are used in data compression algorithms. + +- Priority Queue is another application of binary tree that is used for searching maximum or minimum in O(1) time complexity. + +- Represent hierarchical data. + +- used in editing software like Microsoft Excel and spreadsheets. + +- useful for indexing segmented at the database is useful in storing cache in the system, + +- syntax trees are used for most famous compilers for programming like GCC, and AOCL to perform arithmetic operations. + +- for implementing priority queues. + +- used to find elements in less time (binary search tree) + +- used to enable fast memory allocation in computers. + +- to perform encoding and decoding operations. + + +## Binary Tree Traversals: + +Tree Traversal algorithms can be classified broadly into two categories: + +- Depth-First Search (DFS) Algorithms + +- Breadth-First Search (BFS) Algorithms + + +## Tree Traversal using Depth-First Search (DFS) algorithm can be further classified into three categories: + +- Preorder Traversal (current-left-right: Visit the current node before visiting any nodes inside the left or right subtrees. Here, the traversal is root – left child – right child. It means that the root node is traversed first then its left child and finally the right child. + +- Inorder Traversal (left-current-right): Visit the current node after visiting all nodes inside the left subtree but before visiting any node within the right subtree. Here, the traversal is left child – root – right child. It means that the left child is traversed first then its root node and finally the right child. + +- Postorder Traversal (left-right-current): Visit the current node after visiting all the nodes of the left and right subtrees. Here, the traversal is left child – right child – root. It means that the left child has traversed first then the right child and finally its root node. + + +## Tree Traversal using Breadth-First Search (BFS) algorithm can be further classified into one category: + +- Level Order Traversal: Visit nodes level-by-level and left-to-right fashion at the same level. Here, the traversal is level-wise. It means that the most left child has traversed first and then the other children of the same level from left to right have traversed. + + + +Pre-order Traversal of the above tree: 1-2-4-5-3-6-7 +In-order Traversal of the above tree: 4-2-5-1-6-3-7 +Post-order Traversal of the above tree: 4-5-2-6-7-3-1 +Level-order Traversal of the above tree: 1-2-3-4-5-6-7 + +## Implementation of Binary Tree: + +Let us create a simple tree with 4 nodes. The created tree would be as follows. + + + +Summary: Tree is a hierarchical data structure. Main uses of trees include maintaining hierarchical data, providing moderate access and insert/delete operations. Binary trees are special cases of tree where every node has at most two children. + diff --git a/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.cs b/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.cs new file mode 100644 index 0000000..b25b596 --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.cs @@ -0,0 +1,57 @@ +// A C# program to introduce Binary Tree +using System; +// Class containing left and right child +// of current node and key value +public class Node { + public int key; + public Node left, right; + public Node(int item) + { + key = item; + left = right = null; + } +} + +public class BinaryTree { + + // Root of Binary Tree + Node root; + // Constructors + BinaryTree(int key) { root = new Node(key); } + + BinaryTree() { root = null; } + + // Driver Code + public static void Main(String[] args) + + { + BinaryTree tree = new BinaryTree(); + // Create root + tree.root = new Node(1); + /* Following is the tree after above statement + 1 + / \ + null null */ + tree.root.left = new Node(2); + tree.root.right = new Node(3); + /* 2 and 3 become left and right children of 1 + 1 + / \ + 2 3 + / \ / \ + null null null null */ + + tree.root.left.left = new Node(4); + /* 4 becomes left child of 2 + 1 + / \ + 2 3 + / \ / \ + 4 null null null + / \ + null null +*/ + } +} + +// This code is contributed by PrinciRaj1992 diff --git a/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.java b/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.java new file mode 100644 index 0000000..7994b61 --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.java @@ -0,0 +1,52 @@ +// Class containing left and right child +// of current node and key value +class Node { + + int key; + + Node left, right; +public Node(int item) + { + key = item; + left = right = null; + } +} + +// A Java program to introduce Binary Tree + +class BinaryTree { + // Root of Binary Tree + Node root; + // Constructors + BinaryTree(int key) { root = new Node(key); } + BinaryTree() { root = null; } + public static void main(String[] args) + { + BinaryTree tree = new BinaryTree(); + // create root + tree.root = new Node(1); + /* following is the tree after above statement + 1 + / \ + null null */ + + tree.root.left = new Node(2); + tree.root.right = new Node(3); + /* 2 and 3 become left and right children of 1 + 1 + / \ + 2 3 + / \ / \ +null null null null */ + tree.root.left.left = new Node(4); + /* 4 becomes left child of 2 + 1 + / \ + 2 3 + / \ / \ +4 null null null + / \ +null null + */ + } +} diff --git a/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.js b/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.js new file mode 100644 index 0000000..db586a8 --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.js @@ -0,0 +1,51 @@ + + +/* Class containing left and right child of current + +node and key value*/ +class Node { + +constructor(val) { +this.key = val; +this.left = null; +this.right = null; +} + +} + +// A javascript program to introduce Binary Tree +// Root of Binary Tree + +var root = null; + +/*create root*/ + +root = new Node(1); + +/* following is the tree after above statement +1 +/ \ +null null */ + +root.left = new Node(2); + +root.right = new Node(3); + +/* 2 and 3 become left and right children of 1 +1 +/ \ +2 3 +/ \ / \ +null null null null */ + +root.left.left = new Node(4); + +/* 4 becomes left child of 2 +1 +/ \ +2 3 +/ \ / \ +4 null null null +/ \ +null null +*/ diff --git a/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.py b/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.py new file mode 100644 index 0000000..d0fd311 --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/Node.py @@ -0,0 +1,37 @@ +# Python program to introduce Binary Tree +# A class that represents an individual node +# in a Binary Tree + + +class Node: + def __init__(self, key): + self.left = None + self.right = None + self.val = key + +if __name__ == '__main__': + # Create root + root = Node(1) + ''' following is the tree after above statement + 1 + / \ + None None''' +root.left = Node(2) +root.right = Node(3) + +''' 2 and 3 become left and right children of 1 +1 +/ \ +2 3 +/ \ / \ +None None None None''' + +root.left.left = Node(4) +'''4 becomes left child of 2 +1 +/ \ +2 3 +/ \ / \ +4 None None None +/ \ +None None''' diff --git a/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/node.c b/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/node.c new file mode 100644 index 0000000..3f907d1 --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/node.c @@ -0,0 +1,64 @@ +#include +#include + +struct node { + int data; + struct node* left; + struct node* right; +}; + +/* newNode() allocates a new node +with the given data and NULL left +and right pointers. */ + +struct node* newNode(int data) +{ + // Allocate memory for new node + struct node* node + = (struct node*)malloc(sizeof(struct node)); + + // Assign data to this node + node->data = data; + + // Initialize left and + // right children as NULL + node->left = NULL; + node->right = NULL; + return (node); +} + +int main() +{ + /*create root*/ + struct node* root = newNode(1); + + /* following is the tree after above statement + 1 + / \ + NULL NULL + */ + root->left = newNode(2); + root->right = newNode(3); + + /* 2 and 3 become left and right children of 1 + 1 + / \ + 2 3 + / \ / \ + NULL NULL NULL NULL + */ + + root->left->left = newNode(4); + + /* 4 becomes left child of 2 + 1 + / \ +2 3 +/ \ / \ +4 NULL NULL NULL +/ \ +NULL NULL +*/ + getchar(); + return 0; +} diff --git a/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/node.cpp b/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/node.cpp new file mode 100644 index 0000000..2c3f1db --- /dev/null +++ b/DataStructureAndAlgorithms/src/com/tree/TheImplementationOfTheBinaryTree/node.cpp @@ -0,0 +1,52 @@ +#include +using namespace std; + +class Node { +public: + int data; + Node* left; + Node* right; + // Val is the key or the value that + // has to be added to the data part + Node(int val) + { + data = val; + // Left and right child for node + // will be initialized to null + left = NULL; + right = NULL; + } +}; + +int main() +{ + /*create root*/ + Node* root = new Node(1); + + /* following is the tree after above statement + 1 + / \ + NULL NULL + */ + root -> left = new Node(2); + root -> right = new Node(3); + + /* 2 and 3 become left and right children of 1 + 1 + / \ + 2 3 + / \ / \ + NULL NULL NULL NULL + */ + root -> left -> left = new Node(4); + /* 4 becomes left child of 2 + 1 + / \ + 2 3 + / \ / \ + 4 NULL NULL NULL + / \ + NULL NULL + */ + return 0; +} diff --git a/DataStructureAndAlgorithms/src/com/tree/tree.png b/DataStructureAndAlgorithms/src/com/tree/tree.png new file mode 100644 index 0000000000000000000000000000000000000000..e905457aa3bb4be9a424affea904fa1bbc46374e GIT binary patch literal 10659 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 literal 0 HcmV?d00001 diff --git a/DataStructureAndAlgorithms/src/com/tree/tree1.png b/DataStructureAndAlgorithms/src/com/tree/tree1.png new file mode 100644 index 0000000000000000000000000000000000000000..c9065fb9ee3c0984f6f87f49974c089eef25dd84 GIT binary patch literal 78891 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�%mM%S_i(LB5hzXCtlj6(&g~` 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 literal 0 HcmV?d00001 diff --git a/DataStructureAndAlgorithms/src/com/tree/tree3.png b/DataStructureAndAlgorithms/src/com/tree/tree3.png new file mode 100644 index 0000000000000000000000000000000000000000..a4b6d862ccec2853274f71f2b097bbc0d1ed5c34 GIT binary patch literal 12117 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 UU$d7Dl*^+j%BsnfNxk*`U+KhRp#T5? literal 0 HcmV?d00001 diff --git a/DataStructureAndAlgorithms/src/com/tree/tree4.png b/DataStructureAndAlgorithms/src/com/tree/tree4.png new file mode 100644 index 0000000000000000000000000000000000000000..2e4ad7ad2ee00ed699ae6aadd7446c14f7db09e0 GIT binary patch literal 5902 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 + + +## Classification of Data Structure: + +-

Linear data structure:

Data structure in which data elements are arranged sequentially or linearly, where each element is attached to its previous and next adjacent elements, is called a linear data structure. Examples of linear data structures are array, stack, queue, linked list, etc. + + -

Static data structure:

Static data structure has a fixed memory size. It is easier to access the elements in a static data structure. An example of this data structure is an array. + + -

Dynamic data structure:

In dynamic data structure, the size is not fixed. It can be randomly updated during the runtime which may be considered efficient concerning the memory (space) complexity of the code. Examples of this data structure are queue, stack, etc. + +-

Non-linear data structure:

Data structures where data elements are not placed sequentially or linearly are called non-linear data structures. In a non-linear data structure, we can’t traverse all the elements in a single run only. Examples of non-linear data structures are trees and graphs. +