A patch to correct for this behaviour is provided by the etoolbox
package. The default \chapter
inserts a 10pt
vertical gap between chapter breaks in the LoF and LoT. Merely add a similar gap as part of the macro \@chapter
to the LoA:

\documentclass[12pt]{book}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@chapter}% <cmd>
{\chaptermark{#1}}% <search>
{\chaptermark{#1}%
\addtocontents{loa}{\protect\addvspace{10\p@}}}% replace
{}{}% <success><failure>
\makeatother
\usepackage[chapter]{algorithm}% http://ctan.org/pkg/algorithms
\begin{document}
\tableofcontents
\listofalgorithms
\chapter{A chapter}
\begin{algorithm}\caption{An algorithm}\end{algorithm}
\begin{algorithm}\caption{An algorithm}\end{algorithm}
\chapter{A chapter}
\begin{algorithm}\caption{An algorithm}\end{algorithm}
\begin{algorithm}\caption{An algorithm}\end{algorithm}
\end{document}
The original \@chapter
command contains:
%...
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
%...
The \patchcmd
searches for \chaptermark{#1}
in \@chapter
and replaces it with
\chaptermark{#1}%
\addtocontents{loa}{\protect\addvspace{10\p@}}%
effectively inserting the necessary chapter-wise gap in the LoA.
Make sure to load any package that affects the sectional unit \chapter
after performing this patch. This is especially true if you use hyperref
and minitoc
. Other sectional packages like titlesec
would not be compatible with the above patch.