绘图排序网络

Drawing sorting networks

有什么好的方法可以画出类似于 post 底部的排序网络? python 软件包或 LaTeX 排版软件包将不胜感激。

很可能存在一些更具体的 LaTeX 包来绘制这样的 网络 ,但您可以先看看 TikZ package (manual)。这就是我如何(快速)使用 TikZ 重现你问题中两个图像中更简单的一个:

\documentclass[tikz,border=5mm]{standalone}

\begin{document}

\begin{tikzpicture}
%\fill [gray!15] (1.5,1.5) -- (2.5,1.5) -- (2.5,2.5) -- (1.5,2.5) -- cycle;
\foreach \a in {1,...,4}
  \draw[thick] (0,\a) -- ++(5,0);
\foreach \x in {{1,2},{1,4},{2,1},{2,3},{3,1},{3,2},{3,3},{3,4},{4,2},{4,3}}
  \filldraw (\x) circle (1.5pt);
\draw[thick] (1,2) -- (1,4);
\draw[thick] (2,1) -- (2,3);
\draw[thick] (3,1) -- (3,2);
\draw[thick] (3,3) -- (3,4);
\draw[thick] (4,2) -- (4,3);
\end{tikzpicture}

\end{document}

注释行(以 % 开头)会在背景上为您提供一个浅灰色矩形示例,就像您的第一张图片一样。