Step 1: Local vs global alignment.
Local alignment hunts for the best matching patch inside two sequences, while global alignment lines up the full length end to end.
Step 2: Check Smith-Waterman.
The Smith-Waterman method uses dynamic programming made specifically for local alignment, so A is true.
Step 3: Check Needleman-Wunsch.
Needleman-Wunsch is the global alignment method, so it does not fit local alignment and B is false.
Step 4: Check BLAST and neighbour-joining.
BLAST is a fast local alignment search against databases, so C is true. Neighbour-joining only builds phylogenetic trees, not alignments, so D is false.
Step 5: Answer.
\[ \boxed{A,\ C} \]