Un algoritm reprezintă un set de instrucțiuni structurate și ordonate logic, utilizate pentru rezolvarea unui anumit tip de problemă. Structurile de date reprezintă modalități de organizare eficientă a datelor în cadrul unui program, pentru a permite operații rapide și optimizate pe acestea.