Paieška į plotį

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Paieška į plotį
Animacija, iliustruojanti paiešką į plotį

Paieška į plotį (angl. breadth-first search, angl. BFS) – paieškos grafe arba grafo apėjimo būdas, kai pasirinkus pradinę viršūnę pirmiausia yra aplankomos visos jos kaimynės (t. y., viršūnės, sujungtos grafo briaunomis su pradine viršūne), po to kaimynių kaimynės ir t. t., kol randamas ieškomas tikslas arba kol yra apeinamos visos grafo viršūnės ir briaunos.

Algoritmas[redaguoti | redaguoti vikitekstą]

Paieška į plotį gali būti realizuojama naudojant eilę. Tokiu atveju iš pradžių į eilę įtraukiama pasirinkta viršūnė, nuo kurios vykdoma paieška. Po to kiekviename žingsnyje iš eilės imama viršūnė ir į eilę dedamos jai gretimos neaplankytos viršūnės. Tai kartojama, kol eilė lieka tuščia.[1]

Pseudokodu, paremtu Pascal programavimo kalba, tai užrašoma taip:

TrauktiĮEilę(Eilė, PradinėViršūnė);
PažymėtiKaipAplankytą(PradinėViršūnė); // pažymi aplankytą viršūnę
while (NeTuščia(Eilė)) do
begin
	w := ImtiIšEilės(Eilė); // Nuskaitomas ir išmetamas pirmas eilės elementas
	for u := visoms neaplankytoms viršūnėms, gretimoms w do
	begin
		PažymėtiKaipAplankytą(u);
		TrauktiĮEilę(Eilė, u);
	end
end

Taikymai[redaguoti | redaguoti vikitekstą]

Paieška į plotį galima rasti trumpiausius kelius nuo pasirinktos viršūnės nesvoriniame grafe.[1]

Išnašos[redaguoti | redaguoti vikitekstą]

  1. 1,0 1,1 Kostas Plukas, Eugenijus Mačikėnas, Birutė Jarašiūnienė, Irena Mikuckienė „Taikomoji diskrečioji matematika“, Kaunas, „Technologija“, 2007

Nuorodos[redaguoti | redaguoti vikitekstą]