Skip to content
This repository was archived by the owner on Aug 16, 2020. It is now read-only.

Merge #1

Merged
merged 93 commits into from
Oct 28, 2017
Merged
Changes from 4 commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
1e52ba3
Added level order traversal, and more nodes in main method
mpokryva Sep 28, 2017
75c55b8
Merge pull request #1 from TheAlgorithms/master
ayaanfaiz Sep 29, 2017
22c48e0
Create AnyBaseToAnyBase
RollandMichael7 Sep 29, 2017
e7f35ab
Postfix Notation using Stack
manmeet-22 Oct 1, 2017
ae3342f
Added Extension
manmeet-22 Oct 3, 2017
3f25ae8
turned some public methods private
daniel-mueller Oct 3, 2017
077b763
Trie Data structure
dheerajbarnwal Oct 3, 2017
7bb187b
Make it actually a java file
RollandMichael7 Oct 3, 2017
68ff303
Added Resize for Stacks
Oct 4, 2017
6d96760
addded Bag-datastructure
dhinske Oct 4, 2017
ba301ef
Updated README with the Shell sort
Oct 4, 2017
6807e7e
Added Ternary Search
ribhav-pahuja Oct 4, 2017
76042f4
Added Ternary Search
ribhav-pahuja Oct 4, 2017
a139d6b
updating file according to new algorithms added
PAPERPANKS Oct 5, 2017
50f8693
Update README.md
PAPERPANKS Oct 5, 2017
35bd2bb
#96.Added and Implemented Counting sort with Java
achaJackson Oct 5, 2017
a92743c
Add Eggdroping puzzle
dpacmen Oct 5, 2017
cc4fda5
updated
dpacmen Oct 5, 2017
8717d61
Add bogo sort
karimElmougi Oct 5, 2017
5919171
Merge pull request #1 from karimElmougi/master
karimElmougi Oct 5, 2017
6823278
Added comments to level order traversal method, and samples in main m…
mpokryva Oct 5, 2017
29c45d7
Merge pull request #162 from freitzzz/master
dynamitechetan Oct 6, 2017
a9e8b6b
Add: level order traversal.
KyleScharnhorst Oct 8, 2017
7ea7678
Add: generic queue implementation.
KyleScharnhorst Oct 8, 2017
0ade40c
Add: circular buffer implementation.
KyleScharnhorst Oct 8, 2017
a275701
To check if tree is valid BST tree or not
ayaanfaiz Oct 10, 2017
19053d0
Merge pull request #114 from RollandMichael7/patch-1
varunu28 Oct 10, 2017
5f24928
Merge pull request #121 from manmeet-22/patch-3
varunu28 Oct 10, 2017
7dacb2f
Merge pull request #164 from KyleScharnhorst/master
varunu28 Oct 10, 2017
bb6f827
Merge branch 'master' into level-order
mpokryva Oct 10, 2017
f6c3222
Add Linear Congruential Generator
TobCar Oct 11, 2017
3244f5b
To check if tree is valid BST tree or not (#180)
ayaanfaiz Oct 11, 2017
dbbc4cb
Merge pull request #182 from TobCar/master
varunu28 Oct 11, 2017
de86c31
Add validForBase() and min/max base constants
RollandMichael7 Oct 11, 2017
0ff7742
Merge pull request #183 from RollandMichael7/patch-3
varunu28 Oct 11, 2017
24b60d6
Create FindHeightOfTree.java
varunu28 Oct 12, 2017
cf4b0ce
Merge pull request #185 from varunu28/master
varunu28 Oct 12, 2017
ea62951
Add Longest Common Subsequence algorithm (DP)
rahul1995 Oct 12, 2017
12af048
Top view
ayaanfaiz Oct 13, 2017
98ef327
Level Order Traversal(2 methods)
ayaanfaiz Oct 13, 2017
7dd8fd1
Merge pull request #188 from rahul1995/master
varunu28 Oct 13, 2017
e53249b
Synced the directory structure to that of Python repo
varunu28 Oct 13, 2017
d77ce80
Merge pull request #196 from varunu28/master
varunu28 Oct 13, 2017
df310be
Merge pull request #195 from ayaanfaiz/master
dynamitechetan Oct 13, 2017
f19ca12
Merge pull request #154 from PAPERPANKS/master
dynamitechetan Oct 13, 2017
295ff41
Create CountingSortIntegers.java
youssefAli11997 Oct 13, 2017
f23416a
Merge pull request #1 from youssefAli11997/youssefAli11997
youssefAli11997 Oct 13, 2017
3d34022
Update CountingSortIntegers.java
youssefAli11997 Oct 13, 2017
22220d1
Create CountingSort.java
youssefAli11997 Oct 14, 2017
01e2555
Merge pull request #200 from youssefAli11997/master
varunu28 Oct 14, 2017
ab9f2b0
Prim's And kruskal's Algorithms
Mansi-Mittal Oct 15, 2017
a7a8e19
Merge pull request #206 from Mansi-Mittal/master
varunu28 Oct 18, 2017
956e6e5
Update and rename prim.java to PrimMST.java
varunu28 Oct 18, 2017
ef1aa79
Merge pull request #103 from mpokryva/level-order
dynamitechetan Oct 18, 2017
acc6f31
Merge pull request #137 from daniel-mueller/coding-style-fixes
dynamitechetan Oct 18, 2017
df5e9a8
added QueueUsingTwoStacks.java class in Other folder
sahilb2 Oct 19, 2017
ea164f1
added main and test cases for QueueUsingTwoStacks.java
sahilb2 Oct 20, 2017
598783d
Merge pull request #229 from sahilb2/master
varunu28 Oct 20, 2017
47c44aa
Added Armstrong number algorithm.
Oct 21, 2017
364e27b
moved the class from others papckage to default.
Oct 21, 2017
531c763
Create StackOfLinkedList.java
varunu28 Oct 21, 2017
186c5d0
Adding cocktail sort
Oct 23, 2017
9d81934
Delete InsertionSortInteger.java
varunu28 Oct 23, 2017
952acca
Code changes by request
Oct 23, 2017
810fdd6
Merge pull request #258 from MattBizzo/master
varunu28 Oct 23, 2017
851432f
RSA encryption
green-leaves Oct 24, 2017
87b1f77
Update and rename ft.java to FloydTriangle.java
varunu28 Oct 24, 2017
a9603a7
Merge pull request #261 from green-leaves/rsa-cipher
dynamitechetan Oct 25, 2017
6531362
Merge pull request #151 from ribhav-pahuja/master
dynamitechetan Oct 25, 2017
b69548e
Merge pull request #155 from achaJackson/master
dynamitechetan Oct 25, 2017
a80f00e
Merge branch 'master' into ReadMeUpdate
tifa64 Oct 25, 2017
497f27f
Delete CountSort.java
varunu28 Oct 25, 2017
b0155e3
Delete CountingSortIntegers.java
varunu28 Oct 25, 2017
70fc31a
removed package name
Oct 25, 2017
6dd5a9c
missed removing the file in root folder
Oct 25, 2017
a0fd638
Merge pull request #240 from manimanasamylavarapu/add-alogos-patch2-k…
varunu28 Oct 25, 2017
2a1fc02
Many quality of code changes
KennethNero Oct 26, 2017
a30207a
Removing unneeded .idea files
KennethNero Oct 27, 2017
06d463f
Delete java.iml
KennethNero Oct 27, 2017
0dae61e
Take 2 on removing this folder
KennethNero Oct 27, 2017
60275e9
Merge pull request #276 from KennethNero/Comments&Fixes
dynamitechetan Oct 27, 2017
ee5136c
Merge pull request #158 from karimElmougi/BogoSort
dynamitechetan Oct 27, 2017
441de52
Merge pull request #140 from dheeraj92/master
dynamitechetan Oct 27, 2017
54a16b1
Merge pull request #145 from WilliamTomOBrien/stack-resize
dynamitechetan Oct 27, 2017
028f0d6
Merge pull request #149 from tifa64/ReadMeUpdate
dynamitechetan Oct 27, 2017
1a9aa87
Merge pull request #147 from dhinske/master
dynamitechetan Oct 27, 2017
7555d9e
Merge pull request #166 from KyleScharnhorst/add-circular-buffer
dynamitechetan Oct 27, 2017
6e3ed6c
Merge pull request #165 from KyleScharnhorst/add-generic-queue
dynamitechetan Oct 27, 2017
9fd0548
Merge pull request #156 from dpacmen/patch-7
dynamitechetan Oct 27, 2017
894ec55
Coding standards
teerapat1739 Oct 27, 2017
e438972
Merge pull request #278 from teerapat1739/patch-1
varunu28 Oct 27, 2017
19b7452
added peek function for the queue
sahilb2 Oct 27, 2017
962720f
Merge pull request #282 from sahilb2/master
varunu28 Oct 27, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 40 additions & 32 deletions data_structures/Trees/TreeTraversal.java
Original file line number Diff line number Diff line change
@@ -1,46 +1,50 @@
/**
*
* @author Varun Upadhyay (https://github.com/varunu28)
*
*/
import java.util.LinkedList;

/**
*
* @author Varun Upadhyay (https://github.com/varunu28)
*
*/


// Driver Program
public class TreeTraversal {
public static void main(String[] args) {
Node tree = new Node(5);
tree.insert(3);
tree.insert(2);
tree.insert(7);
tree.insert(1);
tree.insert(9);

// Prints 1 3 5 7 9
tree.printInOrder();
System.out.println();
tree.insert(4);
tree.insert(6);
tree.insert(8);

// Prints 5 3 1 7 9
// Prints 5 3 2 4 7 6 8
System.out.println("Pre order traversal:");
tree.printPreOrder();
System.out.println();

// Prints 1 3 9 7 5
// Prints 2 3 4 5 6 7 8
System.out.println("In order traversal:");
tree.printInOrder();
System.out.println();
// Prints 2 4 3 6 8 7 5
System.out.println("Post order traversal:");
tree.printPostOrder();
System.out.println();

// Add a couple more nodes for print level test
// Print 5 3 7 1 9
// Prints 5 3 7 2 4 6 8
System.out.println("Level order traversal:");
tree.printLevelOrder();
System.out.println();
}
}

/**
* The Node class which initializes a Node of a tree
* Consists of all 3 traversal methods: printInOrder, printPostOrder & printPreOrder
* printInOrder: LEFT -> ROOT -> RIGHT
* printPreOrder: ROOT -> LEFT -> RIGHT
* printPostOrder: LEFT -> RIGHT -> ROOT
* printLevelOrder: ROOT -> ROOT's CHILDREN -> ROOT's CHILDREN's CHILDREN -> etc
*/
* The Node class which initializes a Node of a tree
* Consists of all 3 traversal methods: printInOrder, printPostOrder & printPreOrder
* printInOrder: LEFT -> ROOT -> RIGHT
* printPreOrder: ROOT -> LEFT -> RIGHT
* printPostOrder: LEFT -> RIGHT -> ROOT
* printLevelOrder: Prints by level (starting at root), from left to right.
*/
class Node {
Node left, right;
int data;
Expand Down Expand Up @@ -98,19 +102,23 @@ public void printPostOrder() {
System.out.print(data + " ");
}

/**
* O(n) time algorithm.
* Uses O(n) space to store nodes in a queue to aid in traversal.
*/
public void printLevelOrder() {
LinkedList<Node> queue = new LinkedList<>();
queue.add(this);
while(!queue.isEmpty()) {
Node n = queue.poll();
System.out.print(n.data + " ");
if (n.left != null) {
queue.add(n.left);
while (queue.size() > 0) {
Node head = queue.remove();
System.out.print(head.data + " ");
// Add children of recently-printed node to queue, if they exist.
if (head.left != null) {
queue.add(head.left);
}
if (n.right != null) {
queue.add(n.right);
if (head.right != null) {
queue.add(head.right);
}
}
}
}