from utils.algo_context import AlgoContext from utils.algo_array import Array from vorlesung.L05_binaere_baeume.avl_tree import AVLTree def analyze_complexity(sizes): import random sizes = list(sizes) elements = random.sample(range(max(sizes) * 10), max(sizes)) ctx = AlgoContext() tree = AVLTree(ctx) prev = 0 for size in sizes: for i in range(prev, size - 1): tree.insert(elements[i]) ctx.reset() tree.insert(elements[size - 1]) ctx.save_stats(size) prev = size ctx.plot_stats(["comparisons"]) if __name__ == "__main__": sizes = range(10, 501, 10) analyze_complexity(sizes)