En ciencias de la computación, el algoritmo de Ukkonen es un algoritmo on-line, con tiempo de computación lineal, para construir un árbol de sufijos de una cadena 
  
    
      
        S
      
    
    {\displaystyle S}
  . Este algoritmo fue propuesto por Esko Ukkonen en 1995.
Anteriormente existían dos algoritmos capaces de construir el árbol de sufijos de una cadena 
  
    
      
        S
      
    
    {\displaystyle S}
   en tiempo lineal, estos son el algoritmo de Weiner (1973) y el algoritmo de McCreight (1976). Pero el algoritmo de Ukkonen se destaca por ser más sencillo y por tener la característica de ser en línea.