\documentclass[tikz,border=5pt]{standalone}
\usepackage[dvipsnames]{xcolor}
\usepackage[T1]{fontenc}
\usepackage{amssymb, amsmath}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing, shapes.geometric}
\begin{document}
\begin{tikzpicture}[square/.style={regular polygon,regular polygon sides=4},scale=0.8]
\node at (0,0) [square, draw, label=above:-n-2] (a1) {};
\node at (1,0) [square,draw,label=above:-3] (a2) {};
\node at (2,0) [square,draw,label=above:-2] (a3) {};
\node at (3,0) [draw=none] (a4) {\ldots};
\node at (4,0) [square,draw,label=above:-2] (a5) {};
\node at (5,0) [circle, draw,fill=black, label=above:-5] (a6) {};
\node at (6,0) [circle, draw,fill=black, label=above:-n-3] (a7) {};
\node at (7,0) [circle, draw, fill=black, label=above:-3] (a8) {};
\node at (8,0) [square, draw, label=above:-2] (a9) {};
\node at (9,0) [draw=none] (a10) {\ldots};
\node at (10,0) [square, draw, label=above:-2] (a11) {};
\node at (8,-1) [circle, draw, label=above:-1] (a12) {};
\draw (a1) -- (a2) -- (a3) -- (a4) -- (a5) -- (a6) -- (a7) -- (a8) -- (a9) -- (a10) -- (a11);
\draw (a11) -- (a12) -- (a7);
\draw[decoration={brace,raise=20pt},decorate] (2,0) -- node[above=20pt] {$n$} (4,0);
\draw[decoration={brace,raise=20pt},decorate] (8,0) -- node[above=20pt] {$n$} (10,0);
\node at (11,2) [square, draw, label=above:-n-2] (b1) {};
\node at (10,2) [square,draw,label=above:-3] (b2) {};
\node at (9,2) [square,draw,label=above:-2] (b3) {};
\node at (8,2) [draw=none] (b4) {\ldots};
\node at (7,2) [square,draw,label=above:-2] (b5) {};
\node at (6,2) [square,draw, label=above:-3] (b6) {};
\node at (5,2) [circle, draw,fill=black, label=above:-5] (b7) {};
\node at (4,2) [square,draw, label=above:-n-3] (b8) {};
\node at (3,2) [square, draw, label=above:-3] (b9) {};
\node at (2,2) [square, draw, label=above:-2] (b10) {};
\node at (1,2) [draw=none] (b11) {\ldots};
\node at (0,2) [square, draw, label=above:-2] (b12) {};
\node at (1,1) [circle, draw, label=above:-1] (b13) {};
\draw (b1) -- (b2) -- (b3) -- (b4) -- (b5) -- (b6) -- (b7) -- (b8) -- (b9) -- (b10) -- (b11) -- (b12) -- (b13) -- (a1);
\draw[decoration={brace,raise=20pt},decorate] (0,2) -- node[above=20pt] {$n$} (2,2);
\draw[decoration={brace,raise=20pt},decorate] (7,2) -- node[above=20pt] {$n$} (9,2);
\node at (14,6) [circle,draw,fill=black, label=above:-n-2] (c1) {};
\node at (13,6) [circle,draw,fill=black,label=above:-3] (c2) {};
\node at (12,6) [circle,draw,fill=black,label=above:-2] (c3) {};
\node at (11,6) [draw=none] (c4) {\ldots};
\node at (10,6) [circle,draw,fill=black,label=above:-2] (c5) {};
\node at (9,6) [circle,draw,fill=black,label=above:-3] (c6) {};
\node at (8,6) [circle,draw,fill=black,label=above:-2] (c7) {};
\node at (7,6) [draw=none] (c8) {\ldots};
\node at (6,6) [circle,draw,fill=black,label=above:-2] (c9) {};
\node at (5,6) [circle, draw,fill=black, label=above:-3-l] (c10) {};
\node at (4,6) [square,draw, label=above:-n-3] (c11) {};
\node at (3,6) [square, draw, label=above:-3] (c12) {};
\node at (2,6) [square, draw, label=above:-2] (c13) {};
\node at (1,6) [draw=none] (c14) {\ldots};
\node at (0,6) [square, draw, label=above:-2] (c15) {};
\node at (1,5) [circle, draw, label=above:-1] (c16) {};
\node at (10,3) [circle, draw, label=above:-1] (B) {};
\node at (5,4) [draw=none] (A) {\ldots};
\draw (c1) -- (c2) -- (c3) -- (c4) -- (c5) -- (c6) -- (c7) -- (c8) -- (c9) -- (c10) -- (c11) -- (c12) -- (c13) -- (c14) -- (c15) -- (c16) -- (A) -- (B) -- (b1);
\draw[decoration={brace,raise=20pt},decorate] (0,6) -- node[above=20pt] {$n$} (2,6);
\draw[decoration={brace,raise=20pt},decorate] (6,6) -- node[above=20pt] {$l-2$} (8,6);
\draw[decoration={brace,raise=20pt},decorate] (10,6) -- node[above=20pt] {$n$} (12,6);
\end{tikzpicture}
\end{document}