Kan jy 'n gekoppelde lys binêre soek?
Kan jy 'n gekoppelde lys binêre soek?

Video: Kan jy 'n gekoppelde lys binêre soek?

Video: Kan jy 'n gekoppelde lys binêre soek?
Video: ЗАСНЯЛИ РЕАЛЬНОГО ПРИЗРАКА В ДОМЕ С ПАРАНОРМАЛЬНЫМ 2024, April
Anonim

Ja, Binêre soektog is moontlik op die gekoppelde lys as die lys is bestel en jy ken die aantal elemente in lys . Maar Terwyl sorteer die lys , jy kan toegang tot 'n enkele element op 'n slag deur 'n wyser na daardie nodus, dit wil sê óf 'n vorige nodus of volgende nodus.

Net so, wat sal tydskompleksiteit wees wanneer 'n binêre soektog op 'n gekoppelde lys toegepas word?

Tyd kompleksiteit moet nie meer as O(log n) wees nie. Soos gekoppelde lys doen nie ewekansige toegang verskaf as ons probeer nie pas binêre soektog toe algoritme dit sal bereik O(n) soos ons moet vind lengte van die lys en gaan na die middel.

Weet ook hoe word binêre soektog geïmplementeer? Binêre Soek : Soek 'n gesorteerde skikking deur die herhaaldelik te verdeel Soek interval in die helfte. Begin met 'n interval wat die hele reeks dek. As die waarde van die Soek sleutel is minder as die item in die middel van die interval, vernou die interval tot die onderste helfte. Andersins vernou dit tot die boonste helfte.

Daarvan, watter metode gebruik binêre soektog om 'n element in 'n lys te vind?

Binêre soektog werk op gesorteerde skikkings. Binêre soektog begin deur 'n te vergelyk element in die middel van die skikking met die teiken waarde . As die teiken waarde ooreenstem met die element , word sy posisie in die skikking teruggestuur. As die teiken waarde is minder as die element , die Soek gaan voort in die onderste helfte van die skikking.

Hoe herhaal jy 'n gekoppelde lys?

An Iterator kan gebruik word om te lus deur an Gekoppelde lys . Die metode hasNext() gee waar as daar meer elemente in is Gekoppelde lys en andersins vals. Die metode next() gee die volgende element in die Gekoppelde lys en gooi die uitsondering NoSuchElementException as daar geen volgende element is nie.

Aanbeveel: