Explain algorithm strategies and complexity | Confluent