# Review 7 * Hajin Ju, 2024062806 ## Problem 1 Illustrate the operation of `COUNTING-SORT` on the array $A= \set{6,2,1,3,1,3,2}$ ### Solution 1 ```python {cmd output=html hide} from __pyfunc__.r7 import * from bs4 import BeautifulSoup as bs soup = bs("", "lxml") soup.append(create_array_block(soup, "A", None, [6, 2, 1, 3, 1, 3, 2])) print(soup) ``` ```python {cmd output=html hide} from __pyfunc__.r7 import * from bs4 import BeautifulSoup as bs soup = bs("", "lxml") main = soup.append(create_main(soup)) col1 = main.append(create_col(soup)) col2 = main.append(create_col(soup)) col1.append( create_array_block( soup, "C", list(range(1,6+1)), [2, 2, 2, 0, 0, 1])) col2.append( create_array_block( soup, "C", [1, 2, 3, 4, 5, 6], [2, 4, 6, 6, 6, 7])) col1.append( create_array_block( soup, "B", [1, 2, 3, 4, 5, 6, 7], ["", "", "", 2, "", "", ""])) col2.append( create_array_block( soup, "C", [1, 2, 3, 4, 5, 6], [2, 3, 6, 6, 6, 7])) col1.append( create_array_block( soup, "B", [1, 2, 3, 4, 5, 6, 7], ["", "", "", 2, "", 3, ""])) col2.append( create_array_block( soup, "C", [1, 2, 3, 4, 5, 6], [2, 3, 5, 6, 6, 7])) col1.append( create_array_block( soup, "B", [1, 2, 3, 4, 5, 6, 7], ["", 1, "", 2, "", 3, ""])) col2.append( create_array_block( soup, "C", [1, 2, 3, 4, 5, 6], [1, 3, 5, 6, 6, 7])) col1.append( create_array_block( soup, "B", [1, 2, 3, 4, 5, 6, 7], ["", 1, "", 2, 3, 3, ""])) col2.append( create_array_block( soup, "C", [1, 2, 3, 4, 5, 6], [1, 3, 4, 6, 6, 7])) col1.append( create_array_block( soup, "B", [1, 2, 3, 4, 5, 6, 7], [1, 1, "", 2, 3, 3, ""])) col2.append( create_array_block( soup, "C", [1, 2, 3, 4, 5, 6], [0, 3, 4, 6, 6, 7])) col1.append( create_array_block( soup, "B", [1, 2, 3, 4, 5, 6, 7], [1, 1, 2, 2, 3, 3, ""])) col2.append( create_array_block( soup, "C", [1, 2, 3, 4, 5, 6], [0, 2, 4, 6, 6, 7])) col1.append( create_array_block( soup, "B", [1, 2, 3, 4, 5, 6, 7], [1, 1, 2, 2, 3, 3, 6])) col2.append( create_array_block( soup, "C", [1, 2, 3, 4, 5, 6], [0, 2, 4, 6, 6, 6])) print(soup) ``` ## Problem 2 Fill in the following `RADIX-SORT` example. ### Solution 2 ```python {cmd output=html hide} from __pyfunc__.r7 import * from bs4 import BeautifulSoup as bs soup = bs("", "lxml") main = soup.append(create_main(soup)) col1 = main.append(create_col(soup)) col2 = main.append(create_col(soup)) col3 = main.append(create_col(soup)) col4 = main.append(create_col(soup)) col1.append(create_radix_table(soup, [ "COW", "DOG", "SEA", "RUG", "ROW", "MOB", "BOX", "TAB", "BAR", "EAR", "TAR"] )) col2.append(create_radix_table(soup, [ "SEA", "MOB", "TAB", "DOG", "RUG", "BAR", "EAR", "TAR", "COW", "ROW", "BOX"], [2] )) col3.append(create_radix_table(soup, [ "TAB", "BAR", "EAR", "TAR", "SEA", "MOB", "DOG", "COW", "ROW", "BOX", "RUG",], [1, 2] )) col4.append(create_radix_table(soup, [ "BAR", "BOX", "COW", "DOG", "EAR", "MOB", "ROW", "RUG", "SEA", "TAB", "TAR",], [0, 1, 2] )) print(soup) ```