Alg a Prg ALGORITMIZACE 1. AVL - pokracovani operace: insert a delete rotace 2. QuickSort 3. MergeSort 5. VYHODNOCENI ARITMETICKEHO VYRAZU PREfix, INfix, POSTfix format zapisu Mejme aritmeticky vyraz ((6/3)+2)*(4-1) 1. Sestrojte odpovidajici strom aritmetickeho vyrazu 2.0 Vhodnym pruchodem stromu urcete prefix zapis (jsou nutne zavorky?) 2.1 Vhodnym pruchodem stromu urcete postfix zapis (jsou nutne zavorky?) 2.2 Vhodnym pruchodem stromu urcete infix zapis? (jsou nutne zavorky?) 3.0 Vyhodnotte vyslednou hodnotu aritmetickeho vyrazu zadanou stromem 3.1 Vyhodnotte vyslednou hodnotu aritmetickeho vyrazu zadanou prefixovym zapisem 3.2 Vyhodnotte vyslednou hodnotu aritmetickeho vyrazu zadanou postfixovym zapisem 4.0 Prevedte postfix zapis na prefix (bez vyuziti stromu vyrazu) 4.1 Prevedte prefix zapis na postfix (bez vyuziti stromu vyrazu) 4.2 Prevedte infix zapis na postfix (bez vyuziti stromu vyrazu) 4.3 Prevedte infix zapis na prefix (bez vyuziti stromu vyrazu) 5.1 Vyhodnotte vyslednou hodnotu aritmetickeho vyrazu zadanou infixovym zapisem 6.1 Postavte strom vyrazu z prefix notace 6.2 Postavte strom vyrazu z postfix notace PROGRAMOVANI 8. UnitTesty - viz vzorovy priklad a zadani prikladu 9. Tuples 10. Dictionary https://www.programiz.com/python-programming/dictionary https://www.geeksforgeeks.org/python-dictionary/ https://realpython.com/python-dicts/ 10.2. Unique Word Count Write a program that reads text from standard input until it ends, and prints the number of unique words in the input. 10.4. Comparing Dictionaries Write a function same_dict(d1, d2) that returns true if two dictionaries have the same key-value pairs. You may not use the == method to compare the dictionaries directly (though you may use == on other types in your solution). For example: >>> same_dict({ 10 : 20, 30 : 40 }, { 30 : 40, 10 : 20 }) True If the two dictionaries have a total of N elements, what will be your function's expected big-O running time? 10. Typing annotation in Python and mypy https://docs.python.org/3.12/library/typing.html https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html https://medium.com/@moraneus/exploring-the-power-of-pythons-typing-library-ff32cec44981 https://ksvi.mff.cuni.cz/~dingle/2024-5/prog_1/notes_12.html Rozsirujici priklady 7. Tree Check Write a function that takes a binary tree and returns True if the tree satisfies the ordering requirements of a binary search tree. 8. Tree Successor Write a method which, given a binary search tree of non-negative integers and an integer i, returns the next highest value in the tree, i.e. the smallest value in the tree that is greater than i. Return -1 if there are no values greater than i. Assume that all integers in the tree are unique. The value i may or may not be present in the tree. Your function should run in time O(h), where h is the height of the tree.