Vidéo: What is Consciousness? What is Its Purpose? 2024
Partie des algorithmes pour les nuls Triche
Le tableau suivant décrit les algorithmes et les types d'algorithme que vous pourriez trouver utiles pour divers types d'analyse de données. (Vous pouvez trouver des discussions de tous ces algorithmes dans Algorithms For Dummies.)
Algorithme | Description | Lien utile |
A * Recherche | L'algorithme suit le coût des nœuds en les explorant en utilisant le équation: f (n) = g (n) + h (n), où:
n est l'identifiant de noeud g (n) est le coût d'atteindre le noeud h (n) est le coût estimé pour atteindre le le but du noeud f (n) est le coût estimé du chemin de n vers le but L'idée est de chercher d'abord les chemins les plus prometteurs et d'éviter les chemins coûteux. |
Standford. edu |
Arbre équilibré | Un type d'arbre qui maintient une structure équilibrée grâce à une réorganisation de sorte qu'il peut fournir des temps d'accès réduits. Le nombre d'éléments sur le côté gauche diffère du nombre sur le côté droit d'un maximum. | Webdocs |
Recherche bidirectionnelle | Cette technique recherche simultanément depuis le nœud racine et le nœud cible jusqu'à ce que les deux chemins de recherche se rencontrent au milieu. Un avantage de cette approche est qu'elle est efficace dans le temps car elle trouve la solution plus rapidement que beaucoup d'autres solutions de force brute. En outre, il utilise la mémoire plus efficacement que les autres approches et trouve toujours une solution. Le principal inconvénient est la complexité de la mise en œuvre. | Planification. cs |
Arbre binaire | C'est un type d'arbre contenant des nœuds qui se connectent à zéro (nœuds feuille), un ou deux (nœuds de branche) autres nœuds. Chaque nœud définit les trois éléments qu'il doit inclure pour fournir la connectivité et stocker les données: stockage de données, connexion à gauche et connexion à droite. | cs. cmu. edu |
Breadth-First Search | Cette technique commence au niveau du nœud racine, explore d'abord chacun des nœuds enfants et ensuite seulement descend au niveau suivant. Il progresse niveau par niveau jusqu'à ce qu'il trouve une solution. L'inconvénient de cet algorithme est qu'il doit stocker tous les nœuds en mémoire, ce qui signifie qu'il utilise une quantité considérable de mémoire pour un grand nombre de nœuds. Cette technique peut vérifier les noeuds en double, ce qui fait gagner du temps, et elle trouve toujours une solution. | Khan Academcy |
Brute Force | C'est une technique de résolution de problèmes dans laquelle quelqu'un essaie toutes les solutions possibles, en cherchant la meilleure solution au problème. Les techniques de force brute garantissent une solution optimale lorsqu'elles existent, mais prennent beaucoup de temps à implémenter que la plupart des gens les évitent. | Igm. univ |
Depth-First Search | Cette technique commence au nœud racine et explore un ensemble de nœuds enfants connectés jusqu'à ce qu'il atteigne un nœud feuille. Il progresse branche par branche jusqu'à trouver une solution. L'inconvénient de cet algorithme est qu'il ne peut pas vérifier les nœuds en double, ce qui signifie qu'il pourrait traverser les mêmes chemins de nœuds plusieurs fois. En fait, cet algorithme peut ne pas trouver de solution du tout, ce qui signifie que vous devez définir un point de coupure pour empêcher l'algorithme de chercher à l'infini. Un avantage de cette approche est qu'elle est efficace sur le plan de la mémoire. | Hacker Earth |
Diviser pour régner | Il s'agit d'une technique de résolution de problèmes dans laquelle le problème est divisé en plusieurs parties et résolu en utilisant l'approche la plus simple possible. Cette technique permet d'économiser beaucoup de temps et de ressources par rapport à d'autres approches, telles que la force brute. Cependant, cela ne garantit pas toujours un résultat optimal. | Khan Academy |
Dijikstra | Il s'agit d'un algorithme utilisé pour trouver le chemin le plus court dans un graphe dirigé, pondéré (ayant des poids positifs). | Geeks pour Geeks |
Graphe | Un graphe est une sorte d'extension d'arbre. Comme pour les arbres, vous avez des nœuds qui se connectent les uns aux autres pour créer des relations. Cependant, contrairement aux arbres binaires, un graphe peut avoir plus d'une ou deux connexions. En fait, les nœuds graphiques ont souvent une multitude de connexions. Vous voyez des graphiques utilisés dans des endroits comme des cartes pour le GPS et toutes sortes d'autres endroits pour lesquels l'approche descendante d'un arbre ne fonctionnera pas. | Tutoriels |
Algorithmes gourmands | Thistechnique d'un de résolution de problèmes dans lequel la solution repose sur la meilleure réponse pour chaque étape du processus de résolution de problèmes. Les algorithmes gloutons font généralement deux suppositions:
Faire un seul choix optimal à une étape donnée est possible. En choisissant la sélection optimale à chaque étape, il est possible de trouver une solution optimale pour l'ensemble du problème. |
Tutoriels |
Meilleure première recherche gourmande (BFS) | L'algorithme choisit toujours le chemin le plus proche du but en utilisant l'équation: f (n) = h (n). Cet algorithme particulier peut trouver des solutions assez rapidement, mais il peut aussi rester coincé dans les boucles, donc beaucoup de gens ne le considèrent pas comme une approche optimale pour trouver une solution. | Centurion2 |
Hashing | Il s'agit d'une méthode permettant de prédire l'emplacement d'un élément de données particulier dans la structure de données (quelle qu'elle soit) avant de le rechercher. Cette approche repose sur l'utilisation de clés placées dans un index. Une fonction de hachage transforme la clé en une valeur numérique que l'algorithme place dans une table de hachage. Une table de hachage fournit les moyens de créer un index qui pointe vers des éléments d'une structure de données afin qu'un algorithme puisse facilement prédire l'emplacement des données. | Tutoriels |
Heap | Cet arbre sophistiqué permet l'insertion de données dans l'arborescence. L'utilisation de l'insertion de données rend le tri plus rapide. Vous pouvez classer ces arbres comme des tas maximum et des tas minimum, en fonction de la capacité de l'arbre à fournir immédiatement la valeur maximale ou minimale présente dans l'arbre. | Tutoriels |
Heuristiques | C'est une technique de résolution de problèmes qui repose sur la découverte de soi et produit des résultats suffisamment utiles (pas nécessairement optimaux, mais assez bons) pour résoudre un problème suffisamment bien pour qu'une meilleure solution ne soit pas trouvée. t nécessaire. La découverte de soi est le processus qui permet à l'algorithme de vous montrer un chemin potentiellement utile vers une solution (mais vous devez toujours compter sur l'intuition humaine et la compréhension pour savoir si la solution est la bonne). | Nord-ouest. edu |
MapReduce | C'est un framework pour faire fonctionner les algorithmes en utilisant des calculs en parallèle (en utilisant plusieurs ordinateurs connectés ensemble dans un réseau), permettant aux algorithmes de compléter leurs solutions plus rapidement. | Hadoop Apache |
Mergesort | Mergesort est une méthode générale de comparaison des données. Cela dépend de l'approche "diviser pour régner" pour accomplir sa tâche. | Geeks pour Geeks |
Nash Equilibrium | C'est une théorie des jeux dans laquelle les autres joueurs connaissent la stratégie d'équilibre pour les autres joueurs, donc personne n'a rien à gagner en changeant sa stratégie personnelle. Cette théorie est utilisée dans toute situation hostile dans laquelle le joueur doit prendre en compte les décisions prises par tous les autres joueurs afin de gagner la partie. | Khan Academy |
PageRank | Le PageRank est un algorithme permettant de mesurer l'importance d'un nœud dans un graphique. Cet algorithme est à la base des algorithmes de base de Google pour alimenter les recherches pertinentes aux utilisateurs. | Princeton. edu |
Recherche heuristique pure | Cet algorithme développe les nœuds par ordre de coût. Il maintient deux listes. La liste fermée contient les noeuds qu'elle a déjà explorés et la liste ouverte contient les noeuds qu'elle doit encore explorer. Dans chaque itération, l'algorithme développe le nœud avec le coût le plus bas possible. Tous ses nœuds enfants sont placés dans la liste fermée et les coûts de chaque nœud enfant sont calculés. L'algorithme renvoie les noeuds enfants à faible coût à la liste ouverte et supprime les noeuds enfants avec un coût élevé. Par conséquent, l'algorithme effectue une recherche intelligente et basée sur les coûts pour la solution. | World of Computing |
Quicksort | Il s'agit d'une stratégie de tri à usage général basée sur le partitionnement de tableaux de données en réseaux plus petits. Cela dépend de l'approche "diviser pour régner" pour accomplir sa tâche. | Didacticiels |
Arborescence non équilibrée | Il s'agit d'une arborescence qui place de nouveaux éléments de données partout où cela est nécessaire dans l'arborescence sans tenir compte de l'équilibre. Cette méthode d'ajout d'éléments accélère la construction de l'arbre mais réduit la vitesse d'accès lors de la recherche ou du tri. | Quora |