Hoe om functies in Big O notatie Solve

Hoe om functies in Big O notatie Solve


Big O - de O staat voor "Order" - notatie is een van de manieren informatici evalueren functies. Big O notatie uitdrukt hoe functies "opschalen" - hoe de tijd die nodig is om een ​​functie te doen toenemen wanneer de grootte van de set wordt verwerkt toeneemt. Als een functie heeft grote O notatie O (n), de verwerkingstijd is afhankelijk van de grootte van de verwerking set - als de ingestelde grootte verdubbelt, de verwerkingstijd verdubbelt. Als een functie heeft grote O notatie O (n kwadraat), de verwerkingstijd varieert als het kwadraat van de omvang van de verwerking set - als de ingestelde grootte verdubbelt, de verwerkingstijd verviervoudigt.

instructies

1 Zoek de "fundamentele operatie" van de functie die u het oplossen van de grote O voor. De basisfunctie is wat de computer doen dat zal toenemen wanneer de grootte van de bewerkende set toeneemt. Bijvoorbeeld, als je doet een zoekfunctie - het vinden van een item in een lijst die een bepaalde toets is - de fundamentele werking is het vergelijken van een item om uw sleutel. Als het toestel omvang toeneemt, er gaan meer vergelijkingen zijn. Als uw functie sorteert items - zet een set items in orde - de fundamentele werking is op zoek naar twee items en beslissen welke staat voorop in het bestelproces.

2 Kijk naar alle andere activiteiten in de functie. Als elke andere operatie in de functie heeft dezelfde frequentie als de fundamentele werking of is onafhankelijk van de verwerking set grootte, uw fundamentele operatie is een goede keuze en je kunt het gebruiken om op te lossen voor de grote O notatie. Als er een andere operatie in de functie die gedraagt ​​zich wat meer ingewikkelde manier, moet u breken van de functie in twee of meer delen en op te lossen voor de grote O van beide delen. De grootste grote O die je krijgt van alle onderdelen zal de grote O van de functie zijn.

3 Tel de fundamentele operaties voor een test verwerking set, tel dan de fundamentele operaties voor een bewerking set van dubbele grootte, dan voor triple grootte. Als het aantal fundamentele werkingen stijgt direct samen met de toename van de grootte van de bewerkende sets, het grote O notatie voor deze functie is O (n). Als het aantal fundamentele operaties toe met een vast bedrag wanneer de grootte van de bewerkende set wordt vermenigvuldigd met dezelfde hoeveelheid, de grote O notatie O (log n). Als het aantal fundamentele bewerkingen toeneemt met het kwadraat van de toename van de bewerkende set, de grote O notatie O (n kwadraat). Met andere woorden, de functie van n geeft aan hoe de toename van het aantal fundamentele bewerkingen geeft aan hoe de grootte van de bewerkende set toeneemt.

Hints

  • In de informatica, logaritmes zijn bijna altijd logaritme baseren twee. Als de set grootte verdubbelt, de logaritme van de set grootte met één verhoogd.
  • De "orde" een deel van de grote O betekent dat u constanten en coëfficiënten van veeltermen te negeren. Dus zul je nooit dingen te zien zoals O (n + 3). Het zal gewoon O (n).