20. 在数列 $\left\{a_{n}\right\}$ 中, $a_{1}=1, a_{n+1}=2 a_{n}+2^{n}$.

(1)设 $b_{n}=\frac{a_{n}}{2^{n-1}}$. 证明: 数列 $\left\{b_{n}\right\}$ 是等差数列;

(2)求数列 $\left\{a_{n}\right\}$ 的前 $n$ 项和.
(1)证明 由已知 $a_{n+1}=2 a_{n}+2^{n}$,

得 $b_{n+1}=\frac{a_{n+1}}{2^{n}}=\frac{2 a_{n}+2^{n}}{2^{n}}=\frac{a_{n}}{2^{n-1}}+1=b_{n}+1$.

$\therefore b_{n+1}-b_{n}=1$, 又 $b_{1}=a_{1}=1$.

$\therefore\left\{b_{n}\right\}$ 是首项为 1 , 公差为 1 的等差数列.

(2)解 由(1)知, $b_{n}=n, \frac{a_{n}}{2^{n-1}}=b_{n}=n . \therefore a_{n}=n \cdot 2^{n^{-1}}$.

$\therefore S_{n}=1+2 \cdot 2^{1}+3 \cdot 2^{2}+\cdots+n \cdot 2^{n^{-1}}$

两边乘以 2 得: $2 S_{n}=1 \cdot 2^{1}+2 \cdot 2^{2}+\cdots+(n-1) \cdot 2^{n-1}+n \cdot 2^{n}$,

两式相减得: $-S_{n}=1+2^{1}+2^{2}+\cdots+2^{n-1}-n \cdot 2^{n}$

$=2^{n}-1-n \cdot 2^{n}=(1-n) 2^{n}-1$,

$\therefore S_{n}=(n-1) \cdot 2^{n}+1$.