Основно съдържание
Курс: Компютърни науки > Раздел 1
Урок 11: Търсене по широчинаАнализ на търсене по широчина
Колко време отнема обхождането в широчина на граф с върха и ребра? Отговорът е .
Да видим какво означава времето . Засега нека приемем, че , което е валидно за повечето графи, особено за тези, за които изпълняваме обхождане в ширина. Тогава . Тъй като игнорираме константите в асимптотичната нотация, виждаме, че, когато , означава . Ако обаче имаме , тогава , и така означава . Можем да съберем двата случая, като кажем, че означава . Като цяло, ако имаме параметрите и , то означава .
(Забележи, че графът е свързан, ако има път от всеки връх към всички останали върхове. Минималният брой ребра, които може да има един граф и да бъде свързан, е . А граф, в който се нарича свободно дърво.)
Как така обхождането в ширина се изпълнява за време ? Инициализирането на разстоянието и предшественика на всеки връх отнема време (всъщност време ). Всеки връх се посещава най-много веднъж, защото само първият път, когато е достъпен, е неговото разстояние .
null
, и така всеки връх се обхожда поне веднъж. Тъй като разглеждаме ребрата, съседни на един връх, само когато го посещаваме, всяко ребро се разглежда най-много два пъти – по веднъж за всеки връх, който свързва. Така посещаването на върховете при обхождането в ширина отнема Това съдържание е резултат от съвместната дейност на преподавателите по Компютърни науки в Дартмут Thomas Cormen и Devin Balkcom, както и на екипа по компютърни науки на Кан Академия. Съдържанието е лицензирано CC-BY-NC-SA.
Искаш ли да се присъединиш към разговора?
Все още няма публикации.