Essentially, the normal of the vertex iswould be the average of the adjacent faces' (triangles) normals.
In pseudocode:
for each face adjacent to vertex[n]
sum = sum + face.normal
normal[n] = NORMALIZE(sum / COUNT(adjacent faces))
Repeat for each vertex.