A very basic approach using grid:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) grid (3,3);
\draw (0,4) grid (3,7);
\draw (4,0) grid (7,3);
\draw (4,4) grid (7,7);
\foreach \i/\valor in {1/1,2/2,3/3,5/n-2,6/n-1,7/n}
{
\node[anchor=south] at (\i-0.5,7) {$\valor$};
\node[anchor=east] at (0,-\i+7.5) {$\valor$};
}
\node at (3.5,1.5) {$\cdots$};
\node at (3.5,5.5) {$\cdots$};
\node at (1.5,3.5) {$\vdots$};
\node at (5.5,3.5) {$\vdots$};
\node at (3.5,3.5) {$\ddots$};
\end{tikzpicture}
\end{document}

With the new requirement of the edited question:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) grid (3,3);
\draw (0,4) grid (3,7);
\draw (4,0) grid (7,3);
\draw (4,4) grid (7,7);
\foreach \i/\valor in {1/1,2/2,3/3,5/n-2,6/n-1,7/n}
{
\node[anchor=south] at (\i-0.5,7) {$\valor$};
\node[anchor=east] at (0,-\i+7.5) {$\valor$};
}
\node at (3.5,1.5) {$\cdots$};
\node at (3.5,5.5) {$\cdots$};
\node at (1.5,3.5) {$\vdots$};
\node at (5.5,3.5) {$\vdots$};
\node at (3.5,3.5) {$\ddots$};
\draw[red,ultra thick] (0,0) -- (7,7);
\end{tikzpicture}
\end{document}

:)– Count Zero Jul 25 '13 at 20:35tikzpicture(since you seem to have included both tags)? – MaxAxeHax Jul 25 '13 at 20:45tabular, but the fact that the rules aren't continuous would cause for some ugliness. It's not that it's hard (once you get to grips with tabulars), it's just ugly. (Thetabularsolution would potentially be more efficient, but the TikZ solution is prettier by far.) – Sean Allred Jul 25 '13 at 23:06ytableau; I just don't know what it is. The attempt has uncovered several potentially useful features I could add, though. – Ryan Reich Jul 26 '13 at 00:17