Cet entrepôt vous aidera à maîtriser systématiquement les algorithmes et les structures de données que les programmeurs doivent connaître.
Cet entrepôt compte principalement deux succursales :
branche master : La dernière nouvelle branche, qui est également la branche principale pour la maintenance quotidienne à l'avenir, contient des tutoriels sur les algorithmes et les structures de données.
Branche Collections : L'ancienne branche principale, qui organisait les informations sur les algorithmes et les structures de données, est désormais utilisée comme branche auxiliaire : visitez ici
La partie algorithme est pratiquement terminée et il reste encore de nombreuses parties inachevées de la structure des données . Nous accélérerons l'amélioration lorsque nous serons libres.
Table des matières:
- Algorithme
- Structure des données
- Questions pratiques
Algorithme
- 1. Analyse de complexité
- 2. Algorithme de haute précision
- 3. Algorithme de tri
- 4. Algorithme récursif
- 5. Algorithme récursif
- 6. Algorithme diviser pour mieux régner
- 7. Algorithme gourmand
- 8. Algorithme de recherche en largeur
- 9. Algorithme de recherche en profondeur
- 10. Algorithme de retour en arrière
- 11. Programmation dynamique
- 12. Algorithme de chaîne
Structure des données
- 1. Pile
- 2. File d'attente
- 3. Arbre
- 4. Tas
- 5. Algorithme de théorie des graphes
- 6. Recherche combinée
- 7. Arbre couvrant minimum
- 8. Tri topologique et chemin critique
- 9. Arbre de segments de ligne
- 10. Tableau arborescent
Questions pratiques
Après avoir maîtrisé des algorithmes et des structures de données importants, vous devez les pratiquer et les consolider
Choix du site internet ?
LeetCode recommandé, visitez ici
Quelles questions dois-je étudier ?
Si vous manquez de temps : voici les principales recommandations de LeetCode :
Par exemple : Leetcode Hot 100 et LeetCode Selected TOP Questions d'entretien
Si vous disposez de suffisamment de temps : vous pouvez pratiquer systématiquement selon les catégories suivantes :
- Sujet 1 : Tableau (
Chapter1_Array
) - Sujet 2 : Liste chaînée (
Chapter2_list
) - Sujet 3 : Chaîne (
Chapter3_String
) - Sujet 4 : Pile (
Chapter4_Stack
) - Sujet 5 : Arbre (
Chapter5_Tree
) - Sujet 6 : Tri (
Chapter6_Sort
) - Sujet 7 : Recherche (
Chapter7_Search
) - Sujet 8 : Solution violente (
Chapter8_Violence
) - Sujet 9 : BFS (
Chapter9_BFS
) - Sujet 10 : DFS (
Chapter10_DFS
) - Sujet 11 : Diviser pour mieux régner (
Chapter11_Paritition
) - Sujet 12 : Greedy (
Chapter12_Greedy
) - Sujet 13 : Programmation dynamique (
Chapter13_DP
) - Sujet 14 : Graphique (
Chapter14_Graph
) - Sujet 15 : Type non spécifique (
Chapter15_Unspecific
)
stratégies de pratique
- La première passe : Réfléchissez d'abord . Si vous n'en avez aucune idée, vous pouvez examiner les solutions aux problèmes et les combiner avec les solutions aux problèmes d'autres personnes. Résumez si vous avez des problèmes avec votre réflexion ou si vous avez des problèmes avec l'algorithme et la structure des données. Maîtrisez le type de question, la façon de penser et la solution optimale.
- La deuxième fois : rappelez la solution optimale , essayez de l'écrire directement , comparez-la avec les solutions que vous avez écrites auparavant, et résumez les problèmes et les méthodes.
- La troisième fois : Améliorer la rapidité de réponse aux questions et résoudre plusieurs problèmes pour une seule question .Après avoir répondu à une question, vous pouvez connaître l'objectif de l'examen et la méthode de résolution du problème, écrire la réponse en peu de temps et réfléchir. de multiples solutions.