|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programvara
  • Adobe Illustrator
  • animation Software
  • antivirusprogram
  • ljudprogram
  • Säkerhetskopiera data
  • Bränn CD-skivor
  • Bränn DVD
  • Data Compression
  • Database Software
  • Desktop Publishing
  • Desktop Video
  • Digital Video Software
  • Drupal
  • Educational Software
  • Engineering Software
  • Filtillägg Typer
  • Financial Software
  • Freeware , Shareware & Abandonware
  • GIMP
  • Graphics Software
  • Home Recording Software
  • Microsoft Access
  • Microsoft Excel
  • Microsoft Publisher
  • Microsoft Word
  • Open Source Code
  • Andra datorprogram
  • PC-spel
  • Photoshop
  • Portable Document Format
  • PowerPoint
  • presentationsprogram
  • Produktivitet Software
  • quicktime
  • Remote Desktop Management
  • SQL Server
  • Skype
  • Programvara betaversioner
  • Programvara Konsulter
  • Software Development Companies
  • Software Licensing
  • Spreadsheets
  • Skatt förberedelse programvara
  • Utility Software
  • Web Clip Art
  • Windows Media Player
  • Ordbehandlingsprogram
  • Facebook
  • Twitter
  • Instagram
  • LinkedIn
  • TikTok
  • WhatsApp
  • WordPress
  • Chrome
  • Discord
  • Amazon
  • * Dator Kunskap >> Programvara >> Säkerhetskopiera data >> Content

    Vad är tidskomplexiteten för backtrack -algoritmen?

    Tidskomplexiteten för en backtracking -algoritm är i allmänhet exponentiell , även om det kan variera beroende på problemet och dess begränsningar. Det finns ingen enda "tidskomplexiteten för backtracking eftersom det beror starkt på:

    * Antalet val vid varje steg: Om du har *B *-val vid varje steg, och djupet på sökträdet är *d *, kan komplexiteten vara o (b d ).

    * Problemets specifika begränsningar och beskärningstekniker: Backtracking involverar ofta att beskära sökutrymmet. Om du effektivt kan beskära grenar som inte leder till en lösning kan du minska sökutrymmet avsevärt och förbättra prestandan. Effektiviteten i beskärningsstrategin påverkar starkt den sista tidskomplexiteten.

    * Problemets natur: Vissa problem är i sig mer mottagliga för backtracking än andra.

    Här är en uppdelning av varför det i allmänhet är exponentiellt och några exempel:

    * Exponentiell natur: Backtracking undersöker alla möjliga kombinationer eller permutationer tills en lösning hittas. I det värsta fallet kan det behöva utforska en stor del av sökutrymmet, vilket leder till exponentiell tillväxt i antalet besökta noder.

    * Exempel och deras komplexitet:

    * n-Queens Problem: Hitta alla möjliga placeringar av N -drottningar på ett NXN -schackbräde så att inga två drottningar hotar varandra. Tidskomplexiteten är ungefär O (n!), I värsta fall. Beskärningstekniker kan förbättra prestandan avsevärt.

    * Travel Salesperson Problem (TSP): Hitta den kortaste möjliga rutten som besöker varje stad exakt en gång och återvänder till startstaden. En naiv backtracking -strategi skulle ha en tidskomplexitet av o (n!), Där 'n' är antalet städer. Gren och bunden används som beskärning för snabbare utförande.

    * SUMSUM SUM -problem: Att bestämma om det finns en delmängd av en given uppsättning siffror vars summa är lika med ett målvärde. Tidskomplexiteten kan vara O (2 n ), där 'n' är antalet element i uppsättningen, eftersom du kan behöva överväga alla möjliga delmängder.

    * Sudoku Solver: I värsta fall kan en backtracking Sudoku -lösare prova ett stort antal möjligheter för varje tom cell. Även om teoretiskt exponentiellt, bra heuristik och begränsningar gör att den verkliga sudokuen är mycket snabbt.

    * graffärgning: Tilldela färger till vertikaler i en graf så att inga två angränsande vertikaler har samma färg. Värsta fall är exponentiellt men effektiviteten beror på hur du beställer noderna.

    * Faktorer som påverkar tidskomplexiteten:

    * Djupet i rekursionen: Ju djupare sökträdet, desto fler beräkningar krävs.

    * grenfaktor: Antalet val vid varje nod i sökträdet. En större grenfaktor leder till snabbare exponentiell tillväxt.

    * beskärning: Effektiv beskärning minskar sökutrymmet och förbättrar prestandan. Beskärning är den enskilt viktigaste faktorn att tänka på.

    Sammanfattningsvis:

    Även om det är svårt att ge en exakt tidskomplexitet för backtracking i allmänhet, är det säkert att säga att det vanligtvis är exponentiellt (O (B d ) eller O (2 n ) eller o (n!)) I värsta fall. Den faktiska tidskomplexiteten påverkas starkt av problemets struktur, effektiviteten för alla beskärningsstrategier som används och storleken på ingången. Det är viktigt att designa backtracking -algoritmer med effektiv beskärning för att undvika att utforska onödiga vägar. I vissa fall kan beskärning vara så effektiv att den gör algoritmen mycket snabbare i praktiken än dess exponentiella komplexitet i värsta fall skulle antyda. Men för många problem, även med beskärning, förblir backtracking i sig ineffektiv för stora ingångsstorlekar.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur Backup en hårddisk till CD
    ·Hur Säkerhetskopiera RoboForm lösenord
    ·Hur man tar bort det batteri från en Gateway Solo Lapt…
    ·Hur att säkerhetskopiera Windows till en extern hårdd…
    ·Hur att säkerhetskopiera filer från en Windows Server…
    ·Hur Säkerhetskopiera Disney DVD
    ·Hur man gör en normal säkerhetskopiering av Windows
    ·Hur Säkerhetskopiera en musiklicens på Windows Media …
    ·I tally 9 beta varje reskontran avrunda facilalit tillh…
    ·Hur göra backup skivor för Windows XP
    Utvalda artiklarna
    ·Hur man reparerar en MPEG Video
    ·Skriva ut till en fax
    ·Hur man använder CCleaner för att rensa din Internet …
    ·Varför delar jag inlägg till berättelse på Instagra…
    ·Var kan någon hitta information om hur datorspel tillv…
    ·Lägga till kolumner till PageMaker-dokument
    ·Hur man använder WhatsApp på Apple Watch
    ·Vad är MS Excel -formeln för att beräkna elevernas p…
    ·Hur konverterar jag en Excel PDF till ett Excel XLS
    ·Hur Radera celler i Microsoft Excel
    Copyright © Dator Kunskap https://www.dator.xyz