Comment puis-je apprendre à penser plus vite tout en résolvant des problèmes algorithmiques/codage? Comment puis-je mieux visualiser et résoudre les problèmes de codage?

Parfois l’ensemble du problème ne rentre pas dans mon esprit et j’ai du mal à le résoudre. Je ne suis pas. Si je vais vraiment lent, alors je peux résoudre le problème. Je veux penser et coder plus vite. Et, ça me prend beaucoup de temps à comprendre le nouveau problème.

Réponse

Approche pour développer la pensée algorithmique dans laquelle vous pouvez visualiser l’algorithme comme et quand vous essayez de comprendre le problème a besoin de pratique, beaucoup si vous êtes débutant.
Première chose - vous devriez être très à l’aise avec les problèmes algorithmiques faciles comme le tri, des arbres, des parcours et des graphiques. Comme toujours la pratique rend parfait.
Vous pouvez développer la pensée algorithmique en visualisant les algorithmes.
C’est ce que je recommande tout le monde IDeserve
C’est une plateforme cool où vous pouvez visualiser les algorithmes et structures de données qu’il contient.
Selon moi, que c’est la source la plus importante pour les algorithmes qui vous pouvez le visualiser. Son plutôt cool de voir des algorithmes étant exécutés et animés à la volée.
Pratique de plus en plus et vous allez commencer à visualiser les problèmes plus rapidement.

Visualisation des algorithmes sur tableau
Tri - algorithme de tri à bulles (Tri - algorithme de tri à bulles)
Algorithme - de tri Tri sélection (Tri - algorithme de tri de sélection)
Algorithme - de tri Tri d’Insertion (Tri - algorithme de tri d’Insertion)
Algorithme - de Tri Heap Sort (Tri algorithme - tas tri)
Algorithme de tri - Tri par fusion (algorithme - Tri par fusion de tri)
Crêpes (crêpe tri) de tri
Fréquence des éléments du tableau dans la gamme 1 à n (fréquences de comte d’éléments du tableau dans la gamme 1 à n)
Trouver toutes les permutations d’une chaîne (trouver toutes les permutations d’une chaîne)
Recherche binaire dans un tableau trié (recherche binaire dans un tableau trié)
Chefs de file dans un tableau (chefs de file dans un tableau)
Rechercher un élément de pointe dans un tableau (trouver un élément de pointe dans un tableau)
Trouver le pivot dans un tableau trié de rotation (trouver le pivot dans un tableau trié de rotation)
Rechercher un élément dans un tableau trié de rotation (Rechercher un élément dans un tableau trié de rotation)
Rechercher l’élément dans un tableau pivoté trié sans trouver de pivot (trouver l’élément dans un tableau pivoté trié sans trouver pivot)
Trouver les doublons dans un tableau d’entiers (trouver les doublons dans un tableau d’entiers)
Sous-tableau moyenne maximale (sous-tableau moyenne Maximum)
Somme maximale sous-tableau (Maximum subarray somme)
Prochain grand élément dans un tableau (élément supérieur suivant dans un tableau)
Nombre de Fibonacci (nombre de Fibonacci)
Faire pivoter un tableau (faire pivoter un tableau)
Trouver l’élément de la majorité dans un tableau (trouver la majorité élément dans un tableau)
Trouver la médiane de deux tableaux triés (trouver la médiane de deux tableaux triés)
Premier caractère non répétitif dans une chaîne (premier caractère non répétitif dans une chaîne)
Réorganiser les éléments dans un tableau à mettre les éléments positifs et négatifs en remplaçant ordre (ré-organiser les éléments dans un tableau pour mettre les éléments positifs et négatifs afin de rechange)
Trouver le nombre immédiatement supérieur en utilisant les mêmes chiffres (trouver le nombre immédiatement supérieur à l’aide des mêmes chiffres)
Sous-chaîne plus longue avec non - répétition de caractères (Sous-chaîne plus longue avec des caractères non extensible)
Étant donné un tableau contenant tous les éléments distincts, trouver la longueur de la plus longue sous-tableau qui comporte des éléments (pas dans un ordre particulier) qui pourraient constituer une séquence contiguë (àpartir d’un tableau avec tous les éléments distincts, trouver la longueur de la plus longue sous-tableau qui comporte des éléments (pas dans un ordre particulier) qui pourraient constituer une séquence contiguë)
Trouver le chemin de coût minimum dans une matrice (trouver le chemin de coût minimum dans une matrice)
Trouver la longueur de la sous-séquence plus longue croissant dans un tableau (trouver la longueur du croissant plus longue sous-séquence dans un tableau)
Trouver le croissant plus longue sous-séquence dans un tableau O(n logn) (Plus longue augmentant sous-suite O(n logn))
Trouver la longueur de la plus longue sous-séquence bitonique dans un tableau (trouver la longueur de la plus longue sous-séquence bitonique dans un tableau)
Trouver le nombre total des façons de faire à l’aide de changement compte tenu de l’ensemble des pièces de monnaie (trouver le nombre total des façons de faire le changement en utilisant ensemble de pièces de monnaie)
Nombre minimum de pièces de monnaie pour faire le changement (nombre Minimum de pièces de monnaie pour faire changer)
Compter tous les décodages possibles d’une séquence de chiffres donnée - (compter tous les décodages possibles d’une séquence donnée chiffrée)
Trouver augmentant sous-séquence de longueur trois dont le produit maximal (Find augmentant sous-séquence de longueur trois dont le produit maximal)
Trouver augmentant sous-séquence de longueur trois dont le produit maximal | Optimisé approche (Find sous-séquence croissante de longueur trois ayant produit maximal | Optimisé approche)
Trouver l’index 0 pour remplacer pour obtenir la plus longue séquence continue de 1 s (trouver l’index 0 pour remplacer pour obtenir une séquence plus longue continue de 1 s)
Approche du temps o (n) pour trouver l’index 0 pour remplacer pour obtenir la plus longue séquence continue de 1 s (approche du temps o (n) pour trouver l’index 0 pour remplacer pour obtenir une séquence plus longue continue de 1 s)
Trouver un tableau d’entiers correspondant à la chaîne spécifiant l’augmentation diminution transitions (trouver un tableau d’entiers correspondant à la chaîne spécifiant l’augmentation diminution - transitions)
Étant donné un tableau contenant tous les éléments distincts, trouver la longueur de la plus longue sous-tableau qui comporte des éléments (pas dans un ordre particulier) qui pourraient constituer une séquence contiguë (àpartir d’un tableau avec tous les éléments distincts, trouver la longueur de la plus longue sous-tableau qui comporte des éléments (pas dans un ordre particulier) qui pourraient constituer une séquence contiguë)
Fusionner deux tableaux triés sans utiliser d’espace supplémentaire (fusionner deux tableaux triés sans utiliser d’espace supplémentaire)
0-1 problème de sac à dos (0-1 problème de sac à dos)
Le problème de l’horizon (le problème de la ligne d’horizon)
Rechercher une matrice triée (Rechercher une matrice triée)
Acheter et vendre des stocks - 1 (acheter et vendre des stocks - 1)
Acheter et vendre des stocks - 2 (acheter et vendre des stocks - 2)
Problème de Mine d’or (problème de Mine d’or)
Distribuer les chocolats problème (distribuer les chocolats problème)
Eau de pluie de piégeage entre tours (piégeage de l’eau de pluie entre les tours)
Trouver la longueur minimale Sub Array avec somme K (trouver le tableau sous longueur minimale avec somme K)

Visualisation des algorithmes sur les arbres
Vérifier si un arbre binaire est une arborescence de recherche binaire (Vérifiez si un arbre binaire est une arborescence de recherche binaire)
Vérifier si deux noeuds sont cousins dans un arbre binaire (vérifier si deux noeuds sont cousins dans un arbre binaire)
Enlever tous les nœuds qui se trouvent sur le chemin ayant la somme moins de k (enlever tous les nœuds qui se trouvent sur le chemin ayant la somme inférieur à k)
Arbre binaire de recherche | Insertion et recherche (arborescence de recherche binaire de| Insertion et recherche)
Arbre binaire de recherche | Suppression (arborescence de recherche binaire de| Suppression)
Parcours de commandes au niveau d’arborescence binaire (parcours de commandes au niveau d’arborescence binaire)
Imprimer la vue de dessous d’un arbre binaire (vue de dessous d’un arbre binaire d’impression)
Imprimer la vue de dessous d’un arbre binaire à l’aide de la traversée de commandes au niveau (vue de dessous d’impression d’un arbre binaire à l’aide de parcours de commandes au niveau)
Vérifier si un arbre binaire est équilibré ou non (Vérifiez si un arbre binaire est équilibré ou non)
Vérifier si un arbre binaire est sous-arbre d’une autre arborescence binaire en espace o (1) (Vérifiez si un arbre binaire est sous-arbre d’une autre arborescence binaire en espace o (1))
Vérifier si un arbre binaire est une sous-arborescence d’une autre arborescence binaire en temps o (n) (Vérifiez si un arbre binaire est sous-arbre d’une autre arborescence binaire en temps o (n))
Vérifiez si tous les nœuds internes du BST ont seulement un enfant sans avoir à construire l’arbre (vérifier si tous les nœuds internes du BST ont seulement un enfant sans avoir à construire l’arbre)
Vérifier si un arbre binaire donné est arbre symétrique ou non (vérifier si un arbre binaire donné est arbre symétrique ou non)
Vérifier si les deux arbres binaires de recherche sont identiques compte tenu de leurs représentations de tableau (vérifier si deux arbres binaires de recherche sont identiques compte tenu de leurs représentations de tableau)
Vérifier si les deux arbres binaires de recherche sont identiques compte tenu de leurs représentations tableau | Set 2 (vérifier si deux arbres binaires de recherche sont identiques compte tenu de leurs représentations tableau | Set 2)
Vérifier si l’arbre n-aire donnée est arbre symétrique ou non (vérifier si l’arbre n-aire donnée est arbre symétrique ou non)
Vérifier si les deux arbres binaires sont identiques (vérifier si deux arbres binaires sont identiques)
Convertir un arbre binaire en liste doublement chaînée (convertir un arbre binaire à une liste doublement chaînée)
Convertir un doublement lié liste triée équilibré recherche arbre binaire (convertir un doublement lié liste triée à l’arbre de recherche binaire équilibré)
Créer une arborescence de recherche binaire équilibré à partir d’un tableau trié (créer une arborescence de recherche binaire équilibré d’un tableau trié)
Vérifier si un arbre binaire est complet ou non (vérifier si un arbre binaire est complet ou non)
Vérifier si un arbre binaire est un arbre binaire complet ou non (vérifier si un arbre binaire est un arbre binaire complet ou non)
Construire un arbre binaire d’afinde et parcours postorder (construire un arbre binaire d’afinde et parcours postorder)
Construire un arbre binaire d’afinde et parcours précommande (construire un arbre binaire d’afinde et parcours précommande)
Construire l’arborescence binaire de sa représentation sous forme de tableau parent (construire l’arborescence binaire de sa représentation sous forme de tableau parent)
Arbre AVL | Notions de base (AVL arbre | Notions de base)
Arbre AVL | Insertion (AVL arbre | Insertion)
Arbre AVL | Suppression (AVL arbre | Suppression)
Convertir arbre binaire en arborescence de recherche binaire (convertir un arbre binaire d’arbre binaire de recherche)
Trouver la profondeur du nœud de feuille niveau impair plus profond (trouver la profondeur du nœud de feuille niveau impair plus profond)
Somme de Diagonal d’un arbre binaire. (Somme diagonale d’un arbre binaire.)
Trouver à hauteur de l’arbre binaire de son parent représentation de tableau (trouver la hauteur de l’arbre binaire de sa représentation sous forme de tableau parent)
Trouver la somme de gauche toutes les feuilles d’un arbre binaire (trouver la somme de toutes les feuilles de gauche d’un arbre binaire)
Recherche plancher et le plafond d’un élément de donnée dataset à l’aide d’arbre binaire de recherche (Find plancher et le plafond d’un élément de donnée dataset à l’aide d’arbre binaire de recherche)
Récupérer un arbre binaire de recherche si les positions des deux nœuds sont permutées. (Récupérer un arbre binaire de recherche si les positions des deux nœuds sont permutées.)
Dans l’ordre successeur d’un nœud dans un arbre binaire (dans l’ordre successeur d’un nœud dans un arbre binaire)
Parcours d’un arbre binaire (parcours d’un arbre binaire dans l’ordre) dans l’ordre
Imprimer la vue de gauche d’un arbre binaire (vue de gauche d’un arbre binaire d’impression)
Ancêtre commun le plus bas de 2 nœuds dans un arbre binaire (Ancêtre commun le plus bas de 2 nœuds dans une arborescence binaire)
Profondeur minimale d’un arbre binaire (profondeur minimale d’un arbre binaire)
Convertir un arbre binaire à son arbre de miroir (convertir un arbre binaire à son arbre miroir)
Convertir l’arbre n-aire donnée à son image miroir (convertir l’arbre n-aire donnée à son image miroir)
Structure de données trie | Insérer et de recherche (Structure de données Trie | Insertion et recherche)
Structure de données trie | Supprimer (Structure de données pour le Trie| Supprimer)
Correspondance de motif à l’aide de Trie (critères spéciaux à l’aide de Trie)
Plus long préfixe correspondant à l’aide de Trie (leplus long préfixe correspondant à l’aide de Trie)
Commander des parcours d’un arbre binaire (commander après traversée d’un arbre binaire)
Pré-commander le parcours d’un arbre binaire (pré-commander le parcours d’un arbre binaire)
Imprimer tous les racines jusqu’aux chemins de feuille d’un arbre binaire (imprimer toutes les racines jusqu’aux chemins de feuille d’un arbre binaire)
Imprimer un arbre binaire dans l’ordre vertical (arbre binaire imprimer dans l’ordre vertical)
Imprimer tous les nœuds d’une arborescence binaire qui n’ont pas de frère (Imprimer tous les nœuds d’une arborescence binaire qui n’ont pas de frère)
Enlever tous les nœuds de la moitié d’un arbre binaire donné (enlever tous les nœuds de la moitié d’un arbre binaire donné)
Supprimer les nœuds d’arbre binaire de recherche qui ne relèvent pas de la plage donnée (Supprimer les nœuds d’arbre binaire de recherche qui sont en dehors de la plage donnée)
Imprimer une vue droite d’un arbre binaire (imprimer une vue droite d’un arbre binaire)
Sérialiser et désérialiser un arbre binaire de recherche à l’aide de post commande traversal (Serialize et Deserialize une arborescence de recherche binaire à l’aide de post commande traversal)
Serialize et Deserialize une arborescence de recherche binaire (Serialize et Deserialize une arborescence de recherche binaire)
Trouver la taille de la plus grande BST dans un arbre binaire (trouver la taille de la plus grande BST dans un arbre binaire)
Imprimer la vue de dessus d’un arbre binaire à l’aide de la traversée de commandes au niveau (vue de dessus imprimé d’un arbre binaire à l’aide de parcours de commandes au niveau)
Imprimer la vue de dessus d’un arbre binaire (vue de dessus d’un arbre binaire d’impression)
Nombre total de possible arbres binaires de recherche avec les touches n (Nombre Total de possible arbres binaires de recherche avec les touches n)
Étant donné une suite de mots, regrouper toutes les anagrammes et les imprimer. (Étant donné une suite de mots, regrouper toutes les anagrammes et imprimez-les.)

Visualisation des algorithmes sur les chaînes
Problème de pause de mot (mot pause problème)
Inverser les mots dans une chaîne (inverser les mots dans une chaîne)
Trouver toutes les permutations d’une chaîne (trouver toutes les permutations d’une chaîne)
Trouver la distance d’édition minimale entre donné deux chaînes (Find minimum edit distance entre donné deux chaînes)
Impression plus grand nombre d’As à l’aide donné quatre clés. (D’imprimer un nombre maximal d’à utiliser compte tenu de quatre touches.)
Vérifiez équilibrée entre parenthèses dans une chaîne (cocher équilibré entre parenthèses dans une chaîne)
Différentes chaînes binaires de longueur n avec aucun 1 s consécutifs (différentes chaînes binaires de longueur n avec aucun 1 s consécutives)
Trouver 10 Lettre répétée des séquences d’ADN. (10 trouver lettre répétée des séquences d’ADN.)
Premier caractère non répétitif dans une chaîne (premier caractère non répétitif dans une chaîne)
Regrouper tous les anagrammes d’un tableau de chaînes | La valeur 1 (ensemble d’un tableau de chaînes degroupe toutes les anagrammes | Set 1)
Plus longue sous-séquence commune (plus longue sous-séquence commune)
Sous-chaîne commune plus long (plus long sous-chaîne commune)
Plus long palindrome sous-suite (palindrome plus longue sous-séquence)
Plus long palindrome Substring (sous-chaîne plus long palindrome)
Sous-chaîne plus longue avec non - répétition de caractères (Sous-chaîne plus longue avec des caractères non extensible)
Palindrome Min coupe (Palindrome Min coupe)
Palindrome le plus court (plus court Palindrome)
Le plus long préfixe suffixe tableau calcul dans les modèles de KMP algorithme de comparaison. (Le calcul de tableau préfixe suffixe plus longs à KMP algorithme d’appariement de mires.)
L’algorithme de Knuth Morris Pratt pour les critères spéciaux. (Algorithme le Knuth Morris Pratt pour filtrages.)

Visualisation des algorithmes sur les listes chaînées
Inverser une liste chaînée - itérative (inverser une liste chaînée - itérative)
Inverser une liste chaînée - Recursive (inverser une liste chaînée - Recursive)
Fusionner deux listes chaînées triés (fusionner deux listes chaînées triés)
Trouver l’intersection de deux listes liées (trouver l’intersection de deux listes liées)
Trouver l’intersection de deux lié répertorie - complexité en temps O(m + n) et la complexité de l’espace d’o (1) (trouver l’intersection de deux lié répertorie - complexité de temps de O(m + n) et de la complexité de l’espace o (1))
Détecter une boucle dans une liste liée et recherchez le nœud où la boucle commence. (Détecter une boucle dans une liste liée et recherchez le nœud où la boucle commence.)
Convertir un arbre binaire en liste doublement chaînée (convertir un arbre binaire à une liste doublement chaînée)
Convertir un doublement lié liste triée équilibré recherche arbre binaire (convertir un doublement lié liste triée à l’arbre de recherche binaire équilibré)
Implémentation de Cache LRU (implémentation de Cache LRU)

Visualisation des algorithmes sur graphique
Algorithme de Bellman-Ford (algorithme de Bellman-Ford)
Algorithme de plus court chemin de Dijkstra (algorithme du plus court chemin de Dijkstra)
Problème de cercles ami - théorie des graphes (problème de cercles ami - théorie des graphes)
Un tri topologique d’un graphe acyclique orienté. (Tri topologique d’un graphe acyclique dirigΘ.)

Visualisation des algorithmes de programmation dynamique
Problème de pause de mot (mot pause problème)
Trouver le chemin de coût minimum dans une matrice (trouver le chemin de coût minimum dans une matrice)
Somme maximale sous-tableau (Maximum subarray somme)
Trouver le nombre total des façons de faire à l’aide de changement compte tenu de l’ensemble des pièces de monnaie (trouver le nombre total des façons de faire le changement en utilisant ensemble de pièces de monnaie)
Nombre minimum de pièces de monnaie pour faire le changement (nombre Minimum de pièces de monnaie pour faire changer)
Trouver la longueur de la sous-séquence plus longue croissant dans un tableau (trouver la longueur du croissant plus longue sous-séquence dans un tableau)
Trouver la longueur de la plus longue sous-séquence bitonique dans un tableau (trouver la longueur de la plus longue sous-séquence bitonique dans un tableau)
Compter tous les décodages possibles d’une séquence de chiffres donnée (compter tous les décodages possibles d’une séquence donnée chiffrée)
Impression plus grand nombre d’As à l’aide donné quatre clés. (D’imprimer un nombre maximal d’à utiliser compte tenu de quatre touches.)
Trouver la distance d’édition minimale entre donné deux chaînes (Find minimum edit distance entre donné deux chaînes)
Nombre total de possible arbres binaires de recherche avec les touches n (Nombre Total de possible arbres binaires de recherche avec les touches n)
0-1 problème de sac à dos (0-1 problème de sac à dos)
Plus longue sous-séquence commune (plus longue sous-séquence commune)
Sous-chaîne commune plus long (plus long sous-chaîne commune)
Plus longue augmentant sous-suite O(n logn) (Plus longue augmentant sous-suite O(n logn))
Plus long palindrome sous-suite (palindrome plus longue sous-séquence)
Plus long palindrome Substring (sous-chaîne plus long palindrome)
Nombre de Fibonacci (nombre de Fibonacci)
Palindrome Min coupe (Palindrome Min coupe)
Palindrome le plus court (plus court Palindrome)
Problème de somme de sous-ensemble (sous-ensemble problème de la somme)
Problème de Mine d’or (problème de Mine d’or)


Tags: Apprendre à programme, Programmation informatique, Langages de programmation, Programmation concurrentielle