Das Nachschlagen in einer unsortierten Liste ist eine zeitaufwändige Aufgabe . Wenn die Liste jedoch sortiert ist, ist die zeitliche Komplexität gleich. Das heißt, es lohnt sich manchmal, ein Array zu sortieren. Dies ist jedoch ein Kompromiss, da ein Sortieralgorithmus eine zeitliche Komplexität von hat.
Soweit ich weiß, können Sie ein Array nicht in weniger als sortieren Zeit. Ich frage mich jedoch, ob es einen Algorithmus gibt, der das Array teilweise in kürzerer Zeit sortieren kann . Ich bin mir ziemlich sicher, dass Sie einen Wert in einem so teilweise sortierten Array in nicht nachschlagen können Zeit, aber kannst du es besser machen als ?
Kurz gesagt, ist es möglich, ein unsortiertes Array mit einem Algorithmus schneller als zu verarbeiten so dass ein Suchalgorithmus eine Suche schneller als durchführen kann , wenn auch nicht so schnell wie ?
O(nlog(n))
, sodass ein Suchalgorithmus eine Suche schneller durchführen kann als O(n)
" Vielleicht. "Kann eine teilweise Sortierung bei den Suchkosten in Arrays helfen?" Absolut nicht (für eine einzelne Suche).