Hay varias formas de resolver tu problema desde php, desde mysql o mixta.
Desde mysql podrías hacer una trasposicion. Puedes ver un ejemplo
aquí.
Y añadir una subconsulta para extraer esos datos.
Desde php necesitarías hacer una primera consulta para extraer los algoritmos y luego por cada algoritmo hacer una nueva consulta para extraer todas las categorías.