Skip to content

Implement SplayTree #5142

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 29 commits into from
Sep 1, 2024
Merged
Changes from 1 commit
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
3876802
feat: implement SplayTree
sozelfist May 3, 2024
08f223f
chore(docs): update docstring
sozelfist May 10, 2024
6a61536
ref: add `traverse` method
sozelfist May 10, 2024
a357336
ref: update tests
sozelfist May 10, 2024
35a77ab
ref: refactor
sozelfist May 23, 2024
897633d
chore: fix checkstyle warning
sozelfist May 23, 2024
3d9cf0e
ref: add tests
sozelfist May 23, 2024
79dad80
ref: update implementation
sozelfist May 26, 2024
9fbd1c0
chore(fix:style): fix Maven checkstyle
sozelfist May 26, 2024
12effaf
ref: add default pattern to switch statement
sozelfist May 26, 2024
d07f7bb
chore: fix clang-format issue
sozelfist May 26, 2024
d069405
ref: refactor SplayTree implementation
sozelfist May 31, 2024
0c44838
chore: fix clang-format issue
sozelfist May 31, 2024
a0b9fd3
chore(tests): update tests
sozelfist May 31, 2024
3935b05
ref: refactor implementation
sozelfist Jun 1, 2024
95dc5c9
chore(fix[check-style]): use braces in `if` statement
sozelfist Jun 15, 2024
0fe1dd9
Merge branch 'master' into feat/ds/splay_tree
sozelfist Jun 30, 2024
e5a39ae
chore: update splaytree initialization
sozelfist Jun 30, 2024
d2546e7
ref: update tests
sozelfist Jun 30, 2024
16df17c
chore: add tests `testZigZagCaseWithNullChild()`
sozelfist Jun 30, 2024
c9f0696
ref: improve splay tree
sozelfist Aug 31, 2024
7125270
Update directory
Aug 31, 2024
ec4e304
Merge branch 'master' into feat/ds/splay_tree
sozelfist Aug 31, 2024
8306158
Update directory
Aug 31, 2024
99e6f97
chore: format code
sozelfist Aug 31, 2024
1402ab9
chore: remove redundant `final`
sozelfist Aug 31, 2024
a917047
ref: improve splay tree
sozelfist Sep 1, 2024
5431d3e
chore: reorganize code structure
sozelfist Sep 1, 2024
155e54b
chore: remove redundant test
sozelfist Sep 1, 2024
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
Prev Previous commit
Next Next commit
ref: update tests
  • Loading branch information
sozelfist committed Jun 30, 2024
commit d2546e736da86ebf4dd7f834eeb54300ff45530c
Original file line number Diff line number Diff line change
Expand Up @@ -74,39 +74,40 @@ public void testSearchInEmptyTree(int value) {
}

private static Stream<Object[]> traversalStrategies() {
return Stream.of(new Object[] {SplayTree.IN_ORDER, Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20)}, new Object[] {SplayTree.PRE_ORDER, Arrays.asList(20, 17, 14, 13, 11, 9, 8, 7, 3, 2, 1, 5, 4, 6, 10, 12, 15, 16, 18)},
new Object[] {SplayTree.POST_ORDER, Arrays.asList(1, 2, 4, 6, 5, 3, 7, 8, 10, 9, 12, 11, 13, 16, 15, 14, 18, 17, 20)});
return Stream.of(new Object[] {SplayTree.IN_ORDER, Arrays.asList(5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90)}, new Object[] {SplayTree.PRE_ORDER, Arrays.asList(15, 5, 10, 80, 70, 45, 25, 20, 35, 30, 40, 55, 50, 65, 60, 75, 90, 85)},
new Object[] {SplayTree.POST_ORDER, Arrays.asList(10, 5, 20, 30, 40, 35, 25, 50, 60, 65, 55, 45, 75, 70, 85, 90, 80, 15)});
}

private static Stream<Integer> valuesToTest() {
return Stream.of(1, 5, 10, 17, 8, 13, 6, 17, 4, 11, 9, 2, 18, 3, 16, 7, 12);
return Stream.of(5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90);
}

private static Stream<Integer> nonExistentValues() {
return Stream.of(0, 21, 22, 23);
return Stream.of(0, 100, 42, 58);
}

private SplayTree createComplexTree() {
SplayTree tree = new SplayTree();

tree.insert(50);
tree.insert(30);
tree.insert(40);
tree.insert(70);
tree.insert(60);
tree.insert(20);
tree.insert(80);
tree.insert(10);
tree.insert(25);
tree.insert(35);
tree.insert(45);
tree.insert(55);
tree.insert(65);
tree.insert(75);
tree.insert(85);
tree.insert(5);
tree.insert(90);
tree.insert(15);
tree.insert(2);
tree.insert(7);
tree.insert(1);
tree.insert(4);
tree.insert(6);
tree.insert(9);
tree.insert(3);
tree.insert(8);
tree.insert(12);
tree.insert(17);
tree.insert(11);
tree.insert(13);
tree.insert(16);
tree.insert(18);
tree.insert(14);
tree.insert(20);

return tree;
}
}