I have the figure like the below one:
The image is produced using the code below:
\documentclass[tikz, border=3mm]{standalone}
\usetikzlibrary{arrows.meta,chains,matrix,decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}[
node distance=0pt,
start chain = A going right,
arrow/.style = {draw=#1,-{Stealth[]},
shorten >=1mm, shorten <=1mm}, % styles of arrows
arrow/.default = black,
X/.style = {rectangle, draw,% styles of nodes in string (chain)
minimum width=2ex, minimum height=3ex,
outer sep=0pt, on chain},
B/.style = {decorate,
decoration={brace, amplitude=5pt,
pre=moveto,pre length=1pt,post=moveto,post length=1pt,
raise=1mm,
#1}, % for mirroring of brace, if necessary
thick},
B/.default = mirror, % by default braces are mirrored
]
\foreach \i in {1,0,0,0,1,1,
2,0,3,4,1,2}% <-- content of nodes
\node[X] {\i};
\matrix (ML) [matrix of nodes,
nodes=draw, dashed, row sep=1mm,
row 1 column 1/.style={draw=red},
left=11mm of A-1]
{
1\ 0\\
0\ 0\\
1\ 1\\
};
\draw (ML.north -| ML-1-1.north west) -|
(ML.south west) --
(ML.south -| ML-3-1.south west)
%
(ML.north -| ML-1-1.north east) -|
(ML.south east) --
(ML.south -| ML-3-1.south east)
;
\matrix (MR) [matrix of nodes,
nodes=draw, dashed, row sep=1mm,
row 1 column 1/.style={draw=red},
right=11mm of A-12]
{ 1\ 1\\
1\ 1\\
1\ 1\\
};
\draw (MR.north -| MR-1-1.north west) -|
(MR.south west) --
(MR.south -| MR-3-1.south west)
%
(MR.north -| MR-1-1.north east) -|
(MR.south east) --
(MR.south -| MR-3-1.south east)
;
\draw[B=,red] (A-1.north west) -- coordinate[above=3mm] (a) (A-2.north east);
\draw[arrow, red] (ML-1-1.north) to [out=60, in=120] (a);
\draw[B] (A-3.south west) -- coordinate[below=3mm] (b) (A-4.south east);
\draw[arrow] (ML-2-1.south) to [out=315, in=210] (b);
\draw[B] (A-5.south west) -- coordinate[below=3mm] (c) (A-6.south east);
\draw[arrow] (ML-3-1.south) to [out=315, in=240] (c);
\draw[B=,red] (A-7.north west) -- coordinate[above=3mm] (a) (A-8.north east);
\draw[arrow, red] (MR-1-1.north) to [out=120, in=60] (a);
\draw[B] (A-9.south west) -- coordinate[below=3mm] (bb) (A-10.south east);
\draw[arrow] (MR-2-1.south) to [ out=240, in=315] (bb);
\draw[B] (A-11.south west) -- coordinate[below=3mm] (cc) (A-12.south east);
\draw[arrow] (MR-3-1.south) to [out=210, in=315] (cc);
\end{tikzpicture}
\end{document}
However, I want to replace the arrows with something like the picture given below. These pictures were collected from Google images.
Any help or idea is highly appreciated.
Best Answer
Since
start width
andend width
were never specified, I created\maxlinewidth=2pt
for the final line width and adjusted the algorithm.