diff --git a/index.html b/index.html
index 2fb3a9f..154f3a3 100755
--- a/index.html
+++ b/index.html
@@ -92,7 +92,43 @@
-
+
+
+
+
+
+
Prepared scenarios
+
+
+
+
+
+
+
+
+
diff --git a/visualization.js b/visualization.js
index 0f05506..acab467 100644
--- a/visualization.js
+++ b/visualization.js
@@ -40,6 +40,63 @@ function switchTree(TreeType) {
tree.record("");
}
+// #region prepared scenarios
+function prepareSingleRotationAfterDelete() {
+ let newTree = new WAVLTree();
+
+ for (let key of [0, 1, 2, -1]) {
+ newTree.insert(key);
+ }
+
+ document.getElementById("wavlTreeBtn").checked = true;
+
+ tree = newTree;
+ tree.recorder = recorder;
+ recorder.clear();
+ tree.record("Prepare tree");
+
+ document.getElementById("deleteInput").value = 2;
+}
+
+function prepareDoubleRotationAfterDelete() {
+ let newTree = new WAVLTree();
+
+ for (let key of [0, -7, 1, -1]) {
+ newTree.insert(key);
+ }
+
+ document.getElementById("wavlTreeBtn").checked = true;
+
+ tree = newTree;
+ tree.recorder = recorder;
+ recorder.clear();
+ tree.record("Prepare tree");
+
+ document.getElementById("deleteInput").value = 1;
+}
+
+function prepareDemotionOfBothNodesDuringDelete() {
+ let newTree = new WAVLTree();
+
+ for (let key of [0, 1, 2, 3, -2, -3, -1]) {
+ newTree.insert(key);
+ }
+
+ for (let key of [-2]) {
+ newTree.delete(key);
+ }
+
+ document.getElementById("wavlTreeBtn").checked = true;
+
+ tree = newTree;
+ tree.recorder = recorder;
+ recorder.clear();
+ tree.record("Prepare tree");
+
+ document.getElementById("deleteInput").value = 2;
+}
+// #endregion prepared scenarios
+
function render() {
recorder.render();
setTimeout(render);