Matti's CS Notebook

Problems 1 - 6

1 Example of a real world problem that requires sorting is phone book application of a phone, where contacts are required to be sorted in alphabetical order. Another on is recommendation streams of the social media, where information is sorted via sorting algorithms that are based on user’s browsing history. Example for finding a shortest distance between two points are some web traffic routing algorithms.

2 Along with speed, other measures for efficiency for success of a algorithm are memory, energy and user satisfaction efficiency, for example.

3 Example of a data structure I’ve seen is the C++’s std::vector. Its strengths are versatility, ease-of-use, speed, etc. Given that std::vector is a dynamically allocated data structure, it might fall behind the efficiency of std::array.

4 Both shortest-path and traveling-salesperson problem involve solving route finding, but where the former type of problem is about finding shortest distance between two points, which can be a single one directional path from $A$ to $B$, the latter problem type can about finding a circuit between points, so it might involve multiple steps between, say, the points $A$ and $B$, where the shortest path is from $A$ to $B$ and back.

5 A real-world problem where only the best solution will do, are sorting a list in a alphabetical order. A real-world problem where “approximately” the best solution is good enough is a large language model.

6 A real-world problem in which the entire input is available before a problem needs to be solved could be argued to be a sorting problem, since at any given time the data that requires sorting is available and when new data is received, a problem needs a re-sort. Another problem is measuring biomarkers from a given samples. However, in each case it is also possible to argue that required data is not available, because not all lists nor samples contain data that could be sorted or measured.