Connaissances Informatiques >> Logiciel >> Sauvegarder des données >> Content
  Derniers articles
  • Les meilleures façons de sauvegarde…
  • Comment sauvegarder des fichiers sur…
  • Comment sauvegarder un C- Drive 
  • Comment sauvegarder DNS Microsoft 
  • Comment faire une partition Back- Up…
  • Quatre types de sauvegardes de chang…
  • Les meilleures façons de sauvegarde…
  • Comment faire un disque de sauvegard…
  • Est-il vrai que la mémoire principa…
  • Comment faire pour sauvegarder un DV…
  •   Sauvegarder des données
  • Adobe Illustrator

  • Un logiciel d'animation

  • antivirus Software

  • Logiciel audio

  • Sauvegarder des données

  • Gravez des CD

  • Gravez des DVD

  • Compression de données

  • Logiciel de base de données

  • desktop Publishing

  • desktop Video

  • Digital Video Software

  • Drupal

  • Logiciels éducatifs

  • Software Engineering

  • Types de fichier d'extension

  • Financial Software

  • Freeware , Shareware et Abandonware

  • GIMP

  • Graphics Software

  • Accueil Recording Software

  • Microsoft Access

  • Microsoft Excel

  • Microsoft Publisher

  • Microsoft Word

  • Code Open Source

  • Autres logiciels informatiques

  • Jeux PC

  • Photoshop

  • Portable Document Format

  • PowerPoint

  • Logiciel de présentation

  • Logiciels de productivité

  • Quicktime

  • Gestion Remote Desktop

  • SQL Server

  • Skype

  • Logiciel bêta de presse

  • Consultants logiciels

  • Les sociétés de développement de logiciels

  • Licences de logiciels

  • Tableur

  • Logiciel de préparation d' impôt

  • Logiciel utilitaire

  • Clip Art Web

  • Windows Media Player

  • Logiciel de traitement de texte

  • Facebook

  • Twitter

  • Instagram

  • LinkedIn

  • TikTok

  • WhatsApp

  • WordPress

  • Chrome

  • Discord

  • Amazon
  •  
    Sauvegarder des données

    Quelle est la complexité temporelle de l’algorithme de retour en arrière ?

    La complexité temporelle d'un algorithme de backtracking est généralement exponentielle , même si cela peut varier en fonction du problème et de ses contraintes. Il n'y a pas de complexité temporelle unique pour le retour en arrière, car cela dépend fortement de :

    * Le nombre de choix à chaque étape : Si vous avez des choix *b* à chaque étape et que la profondeur de l'arbre de recherche est *d*, alors la complexité peut être O(b d ).

    * Contraintes spécifiques au problème et techniques d'élagage : Le retour en arrière implique souvent d’élaguer l’espace de recherche. Si vous parvenez à élaguer efficacement les branches qui ne mèneront pas à une solution, vous pouvez réduire considérablement l'espace de recherche et améliorer les performances. L’efficacité de la stratégie d’élagage a un impact important sur la complexité temporelle finale.

    * La nature du problème : Certains problèmes se prêtent intrinsèquement plus à un retour en arrière que d’autres.

    Voici un aperçu des raisons pour lesquelles c'est généralement exponentiel et quelques exemples :

    * Nature exponentielle : Le backtracking explore toutes les combinaisons ou permutations possibles jusqu’à ce qu’une solution soit trouvée. Dans le pire des cas, il pourrait devoir explorer une grande partie de l’espace de recherche, ce qui entraînerait une croissance exponentielle du nombre de nœuds visités.

    * Exemples et leurs complexités :

    * Problème N-Queens : Trouver tous les placements possibles de N reines sur un échiquier NxN de telle sorte qu'aucune reine ne se menace. La complexité temporelle est d'environ O(N !), dans le pire des cas. Les techniques de taille peuvent améliorer considérablement les performances.

    * Problème du vendeur itinérant (TSP) : Trouver l'itinéraire le plus court possible qui visite chaque ville exactement une fois et revient à la ville de départ. Une approche naïve de retour en arrière aurait une complexité temporelle de O(n !), où « n » est le nombre de villes. La branche et la liaison sont utilisées comme élagage pour une exécution plus rapide.

    * Problème de somme de sous-ensemble : Déterminer s'il existe un sous-ensemble d'un ensemble donné de nombres dont la somme est égale à une valeur cible. La complexité temporelle peut être O(2 n ), où « n » est le nombre d'éléments dans l'ensemble, car vous devrez peut-être prendre en compte tous les sous-ensembles possibles.

    * Résolveur de Sudoku : Dans le pire des cas, un solveur de Sudoku en retour en arrière pourrait essayer un grand nombre de possibilités pour chaque cellule vide. Bien que théoriquement exponentielle, de bonnes heuristiques et contraintes permettent de résoudre très rapidement le Sudoku du monde réel.

    * Coloration des graphiques : Attribuer des couleurs aux sommets d'un graphique de telle sorte qu'il n'y ait pas deux sommets adjacents de la même couleur. Le pire des cas est exponentiel mais l'efficacité dépend de la façon dont vous commandez les nœuds.

    * Facteurs affectant la complexité temporelle :

    * Profondeur de la récursion : Plus l'arbre de recherche est profond, plus les calculs sont nécessaires.

    * Facteur de branchement : Le nombre de choix à chaque nœud de l'arborescence de recherche. Un facteur de branchement plus important conduit à une croissance exponentielle plus rapide.

    * Taille : Un élagage efficace réduit l’espace de recherche, améliorant ainsi les performances. La taille est le facteur le plus important à considérer.

    En résumé :

    Bien qu'il soit difficile de donner une complexité temporelle précise pour le retour en arrière en général, on peut affirmer sans se tromper qu'elle est généralement exponentielle (O(b d ) ou O(2 n ) ou O(n!)) dans le pire des cas. La complexité temporelle réelle est fortement influencée par la structure du problème, l'efficacité des stratégies d'élagage utilisées et la taille de l'entrée. Il est important de concevoir des algorithmes de backtracking avec un élagage efficace pour éviter d’explorer des chemins inutiles. Dans certains cas, l’élagage peut être si efficace qu’il rend l’algorithme beaucoup plus rapide en pratique que ne le suggère sa complexité exponentielle dans le pire des cas. Cependant, pour de nombreux problèmes, même avec l’élagage, le retour en arrière reste intrinsèquement inefficace pour les grandes quantités d’entrées.

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment accéder à la sauvegarde Windows automatique 
  • Comment faire une sauvegarde de disque pour Mac OSX Leopard 
  • Comment restaurer des boîtes aux lettres Exchange individuelles à partir d' un magasin de sauvegar…
  • Qu'est-ce qui est généralement utilisé pour reconnaître que les données ont été reçues et de…
  • Options de sauvegarde sur disques durs portables 
  • Comment sauvegarder et supprimer les fichiers sous Windows Vista 
  • Définition de la batterie de secours 
  • Comment configurer la sauvegarde automatique d'un disque dur à un autre 
  • Comment réparer l' Exec Remote Agent de Backup 
  • Comment restaurer un fichier de sauvegarde Evernote 
  • Connaissances Informatiques © http://www.ordinateur.cc