  The Grundy number of a graph is the maximum number of colors used by the
greedy coloring algorithm over all vertex orderings. In this paper, we study
the computational complexity of GRUNDY COLORING, the problem of determining
whether a given graph has Grundy number at least $k$. We also study the
variants WEAK GRUNDY COLORING (where the coloring is not necessarily proper)
and CONNECTED GRUNDY COLORING (where at each step of the greedy coloring
algorithm, the subgraph induced by the colored vertices must be connected).
  We show that GRUNDY COLORING can be solved in time $O^*(2.443^n)$ and WEAK
GRUNDY COLORING in time $O^*(2.716^n)$ on graphs of order $n$. While GRUNDY
COLORING and WEAK GRUNDY COLORING are known to be solvable in time
$O^*(2^{O(wk)})$ for graphs of treewidth $w$ (where $k$ is the number of
colors), we prove that under the Exponential Time Hypothesis (ETH), they cannot
be solved in time $O^*(2^{o(w\log w)})$. We also describe an
$O^*(2^{2^{O(k)}})$ algorithm for WEAK GRUNDY COLORING, which is therefore
$\fpt$ for the parameter $k$. Moreover, under the ETH, we prove that such a
running time is essentially optimal (this lower bound also holds for GRUNDY
COLORING). Although we do not know whether GRUNDY COLORING is in $\fpt$, we
show that this is the case for graphs belonging to a number of standard graph
classes including chordal graphs, claw-free graphs, and graphs excluding a
fixed minor. We also describe a quasi-polynomial time algorithm for GRUNDY
COLORING and WEAK GRUNDY COLORING on apex-minor graphs. In stark contrast with
the two other problems, we show that CONNECTED GRUNDY COLORING is
$\np$-complete already for $k=7$ colors.
