  We introduce a notion for hierarchical graph clustering which we call the
expander hierarchy and show a fully dynamic algorithm for maintaining such a
hierarchy on a graph with $n$ vertices undergoing edge insertions and deletions
using $n^{o(1)}$ update time. An expander hierarchy is a tree representation of
graphs that faithfully captures the cut-flow structure and consequently our
dynamic algorithm almost immediately implies several results including:
  (1) The first fully dynamic algorithm with $n^{o(1)}$ worst-case update time
that allows querying $n^{o(1)}$-approximate conductance, $s$-$t$ maximum flows,
and $s$-$t$ minimum cuts for any given $(s,t)$ in $O(\log^{1/6} n)$ time. Our
results are deterministic and extend to multi-commodity cuts and flows. The key
idea behind these results is a fully dynamic algorithm for maintaining a tree
flow sparsifier, a notion introduced by R\"acke [FOCS'02] for constructing
competitive oblivious routing schemes.
  (2) A deterministic fully dynamic connectivity algorithm with $n^{o(1)}$
worst-case update time. This significantly simplifies the recent algorithm by
Chuzhoy et al.~that uses the framework of Nanongkai et al. [FOCS'17].
  (3) The first non-trivial deterministic fully dynamic treewidth decomposition
algorithm on constant-degree graphs with $n^{o(1)}$ worst-case update time that
maintains a treewidth decomposition of width $\text{tw}(G)\cdot n^{o(1)}$ where
$\text{tw}(G)$ denotes the treewidth of the current graph.
  Our technique is based on a new stronger notion of the expander
decomposition, called the boundary-linked expander decomposition. This
decomposition is more robust against updates and better captures the clustering
structure of graphs. Given that the expander decomposition has proved extremely
useful in many fields, we expect that our new notion will find more future
applications.
