The best asymptotic complexity for tribonacci numbers will be using a matrix exponentiation method like the one for Fibonacci numbers. Specifically, written correctly, this is O(log n) integer operations, rather than O(n) (like the dynamic programming method) or O(3n) (like the naive solution).
The matrix of interest is
[1, 1, 1]
M = [1, 0, 0]
[0, 1, 0]
and the nth tribonacci number is in the upper left corner of Mn. The matrix exponentiation must be computed by squaring to achieve log(n) complexity.
(for F(n+3) = a F(n+2) + b F(n+1) + c F(n)
, the matrix is:
[a, b, c]
M = [1, 0, 0]
[0, 1, 0]
and the result is {Fn+2,Fn+1,Fn} = Mn {F2,F1,F0}, also see here.)