อัลกอริทึมพื้นฐานสำหรับ BFS:
set start vertex to visited
load it into queue
while queue not empty
for each edge incident to vertex
if its not visited
load into queue
mark vertex
ดังนั้นฉันคิดว่าความซับซ้อนของเวลาจะเป็น:
v1 + (incident edges) + v2 + (incident edges) + .... + vn + (incident edges)
v
จุดยอด1
ถึงอยู่ที่ไหนn
ประการแรกสิ่งที่ฉันพูดถูกต้องหรือไม่? ประการที่สองสิ่งนี้เป็นอย่างไรO(N + E)
และสัญชาตญาณว่าทำไมถึงดีจริงๆ ขอบคุณ