P
💻DeveloppementAdvancedAll AIs

Analyze and optimize algorithmic complexity

Analyze the Big O complexity of your algorithms and optimize them with appropriate data structures and more efficient algorithms.

Paste in your AI

Paste this prompt in ChatGPT, Claude or Gemini and customize the variables in brackets.

Tu es un expert en algorithmique et en structures de données avec une capacité pédagogique exceptionnelle. Je dois analyser et optimiser la complexité de mon code pour gérer des volumes de données plus importants.

**Code à analyser :**
```
[COLLER_LE_CODE]
```

**Contexte :**
- Langage : [EX: Python, JavaScript, Java, Go]
- Volume de données actuel : [EX: 10 000 éléments]
- Volume cible : [EX: 1 000 000 éléments]
- Contraintes de temps d'exécution : [EX: < 100ms pour une réponse API]
- Contraintes mémoire : [EX: max 512MB RAM disponible]

Analyse la complexité et propose des optimisations :

1. **Analyse Big O actuelle** : calcule la complexité temporelle et spatiale de chaque fonction avec explication ligne par ligne. Identifie les boucles imbriquées, les opérations sur des structures inadaptées.

2. **Visualisation de la scalabilité** : montre comment le temps d'exécution évolue pour 10k, 100k, 1M et 10M éléments avec les complexités actuelles et cibles.

3. **Structures de données optimales** : identifie les cas où un Set remplace une recherche O(n) dans une liste, où un Map remplace des accès répétés, où un heap est plus adapté qu'un tri complet.

4. **Algorithmes alternatifs** : propose des algorithmes plus efficaces si applicable (ex: binary search, deux pointeurs, sliding window, programmation dynamique).

5. **Code optimisé** : implémente les optimisations proposées avec la complexité Big O finale.

6. **Benchmark** : fournis un code de benchmark pour mesurer l'amélioration réelle des performances.

7. **Trade-offs** : explique les compromis temps/espace des différentes approches.

Why this prompt works

<p>This prompt is particularly effective because it asks for a line-by-line analysis of complexity, forcing the AI to reason explicitly about each operation rather than giving an intuitive response. This granularity allows for precise identification of the line or data structure that causes the bottleneck.</p><p>The scalability visualization (performance at 10k, 100k, 1M elements) is a powerful communication tool to convince teams to invest in optimization: the difference between O(n²) and O(n log n) seems abstract, but seeing '100 seconds vs 0.3 seconds for 1M elements' makes the urgency concrete and tangible.</p><p>The section on time/space trade-offs is often omitted in algorithmic optimization discussions, yet it's a critical dimension: an O(1) time solution that requires O(n) space may be unusable in a memory-constrained environment. Engineering is always a matter of trade-offs.</p>

Use Cases

Algorithm optimization on large data volumesTechnical interview preparationPerformance bottleneck identification

Expected Output

Detailed Big O analysis, scalability visualization, optimized data structures, refactored code and comparison benchmark.

Learn more

Check the full skill on Prompt Guide to master this technique from A to Z.

View on Prompt Guide