Accueil Finances personnelles Traitant de la complexité des algorithmes - les nuls

Traitant de la complexité des algorithmes - les nuls

Vidéo: Machine intelligence makes human morals more important | Zeynep Tufekci 2025

Vidéo: Machine intelligence makes human morals more important | Zeynep Tufekci 2025
Anonim

Partie des algorithmes pour les nuls Triche

Vous savez déjà que les algorithmes sont complexes. Cependant, vous devez savoir à quel point un algorithme est complexe car plus il est complexe, plus il faut de temps pour s'exécuter. Le tableau suivant vous aide à comprendre les différents niveaux de complexité présentés par ordre de durée (du plus rapide au plus lent).

Complexité Description
Complexité constante O (1) Fournit un temps d'exécution constant, quelle que soit la quantité de données que vous fournissez. Chaque entrée nécessite une seule unité d'exécution.
Complexité logarithmique O (log n) Le nombre d'opérations augmente plus lentement que l'entrée, ce qui rend l'algorithme moins efficace avec de petites entrées et plus efficace avec de plus grandes. Un algorithme typique de cette classe est la recherche binaire.
Complexité linéaire O (n) Les opérations augmentent avec l'entrée dans un rapport de 1: 1. Un algorithme typique est l'itération, lorsque vous scannez une entrée une fois et que vous appliquez une opération à chaque élément de celle-ci.
Complexité linéarithmique O (n log n) La complexité est un mélange de complexité logarithmique et linéaire. Il est typique de certains algorithmes intelligents utilisés pour commander des données, tels que Mergesortsort, Heapsort et Quicksort.
Complexité quadratique O (n 2 ) Les opérations se développent comme un carré du nombre d'entrées. Lorsque vous avez une itération dans une autre itération (appelée itérations imbriquées en informatique), vous avez une complexité quadratique. Par exemple, vous avez une liste de noms et, afin de trouver les plus similaires, vous comparez chaque nom à tous les autres noms. Certains algorithmes d'ordonnancement moins efficaces présentent une telle complexité: le tri à bulles, le tri par sélection et le tri par insertion. Ce niveau de complexité signifie que vos algorithmes peuvent fonctionner pendant des heures voire des jours avant d'atteindre une solution.
Complexité cubique O (n 3 ) Les opérations se développent encore plus vite que la complexité quadratique car vous avez maintenant plusieurs itérations imbriquées. Lorsqu'un algorithme a cet ordre de complexité et que vous devez traiter une quantité modeste de données (100 000 éléments), votre algorithme peut fonctionner pendant des années. Lorsque vous avez un nombre d'opérations qui est une puissance de l'entrée, il est courant de se référer à l'algorithme comme étant en cours d'exécution en temps polynomial.
Complexité exponentielle O (2 n ) L'algorithme prend deux fois le nombre d'opérations précédentes pour chaque nouvel élément ajouté. Lorsqu'un algorithme a cette complexité, même de petits problèmes peuvent prendre une éternité. De nombreux algorithmes effectuant des recherches exhaustives ont une complexité exponentielle. Cependant, l'exemple classique pour ce niveau de complexité est le calcul des nombres de Fibonacci.
Complexité factorielle O (n!) Cet algorithme présente un véritable cauchemar de complexité en raison du grand nombre de combinaisons possibles entre les éléments. Imaginez: si votre entrée est de 100 objets, et qu'une opération sur votre ordinateur prend 10 -6 secondes (une vitesse raisonnable pour chaque ordinateur de nos jours), vous aurez besoin d'environ 10 140 années accomplir la tâche avec succès (une durée impossible car l'âge de l'univers est estimé à 10 14 ans). Un problème de complexité factorielle célèbre est le problème du voyageur de commerce, dans lequel un vendeur doit trouver le chemin le plus court pour visiter de nombreuses villes et revenir à la ville de départ.
Traitant de la complexité des algorithmes - les nuls

Le choix des éditeurs

Android Aide au développement de jeu - dummies

Android Aide au développement de jeu - dummies

Développer un jeu Android est un processus complexe, mais il y a beaucoup d'expérience pour vous guider. Les ressources en ligne et personnelles peuvent faire du processus un voyage de découverte, pas des impasses: Vous êtes bloqué avec une question technique sur la façon d'accomplir une tâche particulière ou de gérer un bug? Essayez de poster la question sur StackOverflow. com ou ...

Un aperçu de GameMaker: Interface Studio - des mannequins

Un aperçu de GameMaker: Interface Studio - des mannequins

La zone de travail de base de GameMaker est composée de plusieurs sections. Ces sections sont disposées de manière organisée pour former l'interface à partir de laquelle vous travaillez. Vous voyez un menu principal en haut et un menu d'icônes directement en dessous; ces deux menus fournissent des moyens distincts, par exemple, de créer un Sprite, en chargeant un ...

Affecter une action à un objet dans GameMaker: Studio - des mannequins

Affecter une action à un objet dans GameMaker: Studio - des mannequins

Le verbe dans une phrase: Ils disent aux Objets quoi faire, quand le faire, et comment le faire. Les actions sont ce qui fait rebondir un clown sur le mur, ou un avion pour tirer une balle, ou un astéroïde pour se séparer en morceaux. En utilisant Actions, ...

Le choix des éditeurs

Page Décisions de mise en page à rendre dans SharePoint 2010 - mannequins

Page Décisions de mise en page à rendre dans SharePoint 2010 - mannequins

Selon la complexité du site, vous devrez peut-être créer un nouveau type de contenu et / ou des colonnes de site supplémentaires pour vos mises en page dans SharePoint 2010. Si vous souhaitez que vos pages contiennent des champs supplémentaires autres que ceux fournis dans les types de contenu Page d'article et Page d'accueil, tenez compte des éléments suivants: content ...

Accès hors connexion avec SharePoint Online Workspace - nuls

Accès hors connexion avec SharePoint Online Workspace - nuls

Microsoft SharePoint Workspace est l'anciennement Microsoft Office Groove, un application de bureau conçue pour les personnes qui veulent collaborer sur des documents en ligne et hors ligne. Il est fourni avec Office 2010 et fournit une interface utilisateur similaire à l'Explorateur Windows pour l'affichage et l'édition de fichiers et de listes à partir d'un site SharePoint. Espace de travail SharePoint ...

Mise en page Disponible sur le site de publication SharePoint 2010 - dummies

Mise en page Disponible sur le site de publication SharePoint 2010 - dummies

Le site de publication de sharePoint 2010 offre une riche expérience de montage permet à une personne non technique de créer facilement des pages Web. Ajouter votre contenu à la page est un jeu d'enfant. SharePoint fournit de nombreux types de conteneurs de contenu que vous pouvez utiliser lors de la création de votre page, y compris des zones de texte ...

Le choix des éditeurs

Comment envoyer un fichier via Outlook 2013 - des mannequins

Comment envoyer un fichier via Outlook 2013 - des mannequins

Vous pouvez créer des documents dans Microsoft Word ou créer des documents complexes feuilles de calcul avec Excel. Lorsque vous souhaitez envoyer un fichier par courrier électronique, Outlook 2013 est impliqué, même si cela fonctionne parfois en arrière-plan.

Comment envoyer un message avec Outlook. com - dummies

Comment envoyer un message avec Outlook. com - dummies

Lorsque vous ressentez le besoin de lancer un courriel rapide depuis votre cybercafé favori, vous pouvez le faire en un tournemain avec Outlook. com. Vous aurez probablement terminé votre message avant que votre barista ne finisse de mélanger ce suprémo moka latte à haut indice d'octane. Après la disparition de la caféine, procédez comme suit: Cliquez sur Boîte de réception dans les dossiers ...

Comment envoyer un message Outlook 2013 avec une signature numérique - des mannequins

Comment envoyer un message Outlook 2013 avec une signature numérique - des mannequins

Après avoir ID numérique pour Outlook 2013, la chose la plus simple que vous pouvez faire est d'envoyer à quelqu'un un message qui a votre signature numérique. Un message signé numériquement fait plus que simplement assurer à votre destinataire que vous êtes vraiment vous-même - qui d'autre voudriez-vous être, après tout? Supposons que vous vouliez ...