Видео: Дийкстрагийн алгоритмын нарийн төвөгтэй байдал юу вэ?
2024 Зохиолч: Lynn Donovan | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2023-12-15 23:50
Цаг хугацааны нарийн төвөгтэй байдал Дийкстрагийн алгоритм нь O (V 2) боловч хамгийн чухал дараалалтай бол O (V + E l o g V) болж буурдаг.
Үүнээс гадна жишээ нь Дийкстрагийн алгоритм гэж юу вэ?
Дийкстрагийн алгоритм (эсвэл Дийкстрагийнх Хамгийн богино зам Эхлээд алгоритм , SPF алгоритм ) нь алгоритм График дахь зангилааны хоорондох хамгийн богино замыг олоход зориулагдсан бөгөөд үүнийг төлөөлж болно жишээ , авто замын сүлжээ. График дахь өгөгдсөн эх үүсвэрийн зангилааны хувьд алгоритм тэр зангилаа болон бусад бүхний хоорондох хамгийн богино замыг олдог.
Дийкстрагийн алгоритм оновчтой юу? Дийкстрагийн алгоритм график хайлт хийхэд ашигладаг. Энэ бол оновчтой , энэ нь хамгийн богино замыг олох болно гэсэн үг юм. Энэ нь мэдээлэлгүй тул зорилтот зангилааг урьдчилан мэдэх шаардлагагүй гэсэн үг юм. Үнэн хэрэгтээ энэ нь зангилаа бүрээс гарал үүслийн зангилаа хүртэлх хамгийн богино замыг олдог.
Үүнээс гадна Дижкстрагийн алгоритм юу хийдэг вэ?
a-ийн нэг зангилаанаас хамгийн богино замыг тодорхойлохын тулд Dijkstra-ийн алгоритмыг ашиглаж болно график ижил доторх бусад бүх зангилаа руу график өгөгдлийн бүтэц, хэрэв цэгүүд нь эхлэлийн зангилаанаас хүрч болно. Хамгийн дөт замыг олохын тулд Dijkstra-ийн алгоритмыг ашиглаж болно.
Dijkstra BFS эсвэл DFS уу?
Дийкстрагийнх алгоритм Дийкстрагийнх юм алгоритм, энэ нь аль аль нь алгоритм биш, учир нь BFS болон DFS өөрсдөө биш Дийкстрагийнх алгоритм: BFS зайг хадгалах тэргүүлэх дарааллыг (эсвэл массивыг ашиглахыг бодвол) ашигладаггүй. BFS захын сулралт хийдэггүй.
Зөвлөмж болгож буй:
Примийн алгоритмын цаг хугацааны нарийн төвөгтэй байдал хэд вэ?
Примийн алгоритмын цагийн нарийн төвөгтэй байдал нь O ((V + E) l o g V) учир орой бүрийг тэргүүлэх эгнээнд зөвхөн нэг удаа оруулж, тэргүүлэх эгнээнд оруулахад логарифмын хугацаа зарцуулдаг
Холбогдсон жагсаалтын элементүүдийн тоог тоолоход цаг хугацааны нарийн төвөгтэй байдал юу вэ?
Холбогдсон жагсаалтын элементүүдийн тоог тоолоход цаг хугацааны нарийн төвөгтэй байдал юу вэ? Тайлбар: Элементүүдийн тоог тоолохын тулд та бүхэл бүтэн жагсаалтыг туулах хэрэгтэй, тиймээс нарийн төвөгтэй байдал нь O(n) байна
Нуруулдан ангилах алгоритмын нарийн төвөгтэй байдал юу вэ?
Нуруулдан эрэмбэлэх нь газар дээрх алгоритм юм. TimeComplexity: Heapify-н цагийн нарийн төвөгтэй байдал O(Logn). createAndBuildHeap()-ын цагийн нарийн төвөгтэй байдал нь O(n) ба Heap Sort-ын нийт цагийн нарийн төвөгтэй байдал O(nLogn) байна
Хоёртын хайлтын модны хамгийн муу тохиолдол ба дундаж тохиолдлын нарийн төвөгтэй байдал юу вэ?
Хоёртын хайлтын мод Алгоритм Дундаж Хамгийн муу тохиолдол Зай O(n) O(n) Хайх O(log n) O(n) Insert O(log n) O(n) Устгах O(log n) O(n)
Стек түлхэх ажиллагааны цаг хугацааны нарийн төвөгтэй байдал юу вэ?
Бүх стандарт стек үйлдлийн хувьд (push, pop, isEmpty, size) хамгийн муу тохиолдолд ажиллах үеийн нарийн төвөгтэй байдал нь O(1) байж болно. Бид чадаж байна, үгүй гэж хэлдэг нь үр ашиггүй суурь дүрслэл бүхий стекүүдийг хэрэгжүүлэх боломжтой байдаг