Bijection between Spanning trees and Its Contraction of Non-loop Edge Let $e$ be a non-loop edge in a connected graph $G$. 
I would like to construct a bijection between the set $A$ of all spanning trees in $G$ containing the edge $e$ and the set $B$ of all spanning trees in the contraction $G/e$.

To construct injection $f:A \to B$ I could take any two different spanning trees from $A$, $a_i, a_j$ then just by trimming the edge $e$ it's still spanning tree if the spanning doesn't include the vertex that connected by $e$. 
I this case, what exactly the contraction refer to? 
Right now, I understand "contraction $G/e$" as a trimming of only the given edge $e$ but if e is the only edge connected to a vertex, how could I make spanning tree without $e$? It makes impossible to construct bijection.
Where's my misunderstanding lying on?
 A: If $G$ is a graph with edge $e$ between vertices $u$ and $v$, then the contraction of $e$ from $G$ is the graph $G/e$ obtained by shrinking the edge $e$ down until the endpoint vertices $u$ and $v$ coalesce to become one vertex $w$. As always, a picture is worth a thousand words, so here is the relevant one from the Wikipedia article on edge contraction. 

I think that you are possibly mistaking contraction for deletion. When you say trimming, it seems like you are talking about deleting (or removing) the edge from $G$ but not changing its vertices. As you can see above, contraction of an edge changes the vertices of $G$ by combining $u$ and $v$ into a single vertex $w$. 
Since a spanning tree contains all the vertices of $G$ by definition, it is completely determined by its edges. As in your question, let $A$ be the set of spanning trees of $G$ that contain the edge $e$, and let $B$ be the set of spanning trees of $G/e$. A spanning tree $T_S$ of $G$ is determined by a subset $S\subseteq E$, where $E$ is the edge set of $G$. The spanning tree $T_S$ is in $A$ if and only if $e\in S$. Let $T_S$ be a spanning tree in $A$, and define $f(T_S)$ to be the spanning tree of $G/e$ determined by the subset of edges $S-\{e\}$. 
We need to see three things about $f$:


*

*$f(T_S)\in B$ for $T_S\in A$,

*$f$ is injective, and

*$f$ is surjective.


Suppose that $G$ has $n$ vertices and $m$ edges. Then $G/e$ has $n-1$ vertices and $m-1$ edges. A subgraph of $G/e$ is a spanning tree if it is connected, contains all $n-1$ vertices, and contains $n-2$ edges. Since $|S|=n-1$, it follows that $|S-\{e\}|=n-2$, and we've declared that the subgraph is spanning so the number of vertices in $f(T_S)$ is $n-1$. The subgraph $f(T_S)$ of $G/e$ is connected since $T_S$ is connected, and $f(T_S)$ is obtained from $T_S$ by shrinking an edge down to a point. You can make a more formal argument about connectedness by thinking of how paths connecting vertices in $T_S$ induce paths connecting the corresponding vertices in $f(T_S)$.
The map $f$ is injective by construction. Suppose $S$ and $S'$ are two subsets of $E$ yielding spanning trees $T_S$ and $T_{S'}$ in $A$ such that $f(T_S) = f(T_{S'})$. Then $S-\{e\}=S'-\{e\}$. Hence $S=S'$ and $T_S=T_{S'}$.
Finally, the map $f$ is surjective since if a subset $\widetilde{S}\subset E-\{e\}$ determines a spanning tree in $G/e$, the subset $S=\widetilde{S}\cup\{e\}$ determines a spanning tree in $G$. To visualize this construction, we start by splitting the vertex $w$ into two vertices $u$ and $v$, and the connect those vertices with the edge $e$. The resulting graph is still connected and has $n$ vertices and $n-1$ edges, and thus is a spanning tree of $G$. It contains $e$ by construction, and so is in $A$.
It's worth noting that the spanning trees of a graph $G$ are in one to one correspondence with the union of the spanning trees of the contraction $G/e$ and the spanning trees of the deletion $G-e$. See here.
