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);