Theorem 12.1 (Brzozowski). The DFA $\mathcal D((\mathcal D(A^R))^R)$ is a minimal DFA equivalent to $A$.
This gives us the algorithm: take your DFA $A$, reverse it, then determinize the result, reverse the determinized machine, then determinize the result of that. But why does this work?
First, we need to define the reversal of an automaton. Since you were asked to prove that you can generate the reversal of a language described by a regular expression, you will know that the regular languages are closed under reversal. A very easy (almost too easy) construction works for finite automata.
Definition 12.2. Given a DFA $A = (Q,\Sigma,\delta,q_0,F)$, we define the NFA $A^R = (Q,\Sigma,\delta^R,F,\{q_0\})$ to be the NFA that is obtained when we reverse the arrows of $A$ and swap the initial and final states. The transition function is defined by $$\delta^R(q,a) = \{p \in Q \mid \delta(p,a) = q\}.$$
Recall that for an NFA $N$, the DFA $\mathcal D(N)$ is the DFA obtained by applying the subset construction to $N$.
Lemma 12.3. Let $A = (Q,\Sigma,\delta,q_0,F)$ be a DFA accepting $L$ and suppose that every state of $A$ is reachable. Then $\mathcal D(A^R)$ is a minimal DFA for $L^R$.
Proof. To show that the DFA $\mathcal D(A^R)$ is minimal, we show that no two states are equivalent. Let $\mathcal D(A^R) = (Q',\Sigma,\delta',q_0',F')$ and consider two states $X,Y \in Q'$. Remember that states of $Q'$ are subsets of states of $Q$, the state set of $A$.
Suppose $X$ and $Y$ are equivalent. First, we'll show that $X \subseteq Y$. Let $q \in X$. Since every state of $A$ is reachable, we know that there exists a word $w \in \Sigma^*$ such that $\delta(q_0,w) = q$. Then $q_0 \in \delta^R(q,w^R)$ in $A^R$ and so $\delta'(X,w^R) \in F'$ in $\mathcal D(A^R)$.
Since $X$ and $Y$ are equivalent, we have that $\delta'(Y,w^R) \in F'$ in $\mathcal D(A^R)$. Then there exists a $p \in Y$ such that $q_0 \in \delta^R(p,w^R)$ in $A^R$, which means that $\delta(q_0,w) = p$ in $A$. But $A$ is a DFA, so we must have $p = q$ and therefore $q \in Y$.
A symmetric argument will show that $Y \subseteq X$ and therefore, $X = Y$. $\tag*{$\Box$}$
Applying this lemma twice gives us Brzozowski's algorithm.
The complexity of this algorithm has been studied over the last few decades, both experimentally and through average-case analysis. Part of the challenge of doing such analysis is that it's difficult to generate random DFAs and NFAs with a reasonable distribution and that behave in a reasonable way. For instance, just randomly generating DFAs with $n$ states by randomly generating transitions between them will result in a lot of disconnected DFAs.