For each of the following algorithms, indicate their worst-case running time complexity using the Big-Oh notation, and give a brief (3-4 sentences each) summary of the worst-case running time analysis. 1. Preorder traversal of a binary tree of size 3n assuming each visit action takes constant time. 2. Quick-sort on a sequence of size n, assuming that the pivot is always the last element in the corresponding sequence. 3. Insertion into a red-black tree of size n. 4. Bubble-sort on a sequence of size n/2