Rumah >Java >javaTutorial >Soalan Temuduga DSA Paling Banyak Ditanya
S: Bagaimanakah anda mengesan kitaran dalam senarai terpaut?
J: Untuk mengesan kitaran dalam senarai terpaut, anda boleh menggunakan Algoritma Pengesanan Kitaran Floyd, juga dikenali sebagai Algoritma Kura-kura dan Hare. Dalam pendekatan ini, dua penunjuk (perlahan dan cepat) melintasi senarai. Penunjuk perlahan bergerak satu langkah pada satu masa, manakala penunjuk pantas bergerak dua langkah. Jika senarai terpaut mengandungi kitaran, kedua-dua petunjuk akhirnya akan bertemu; jika tidak, penunjuk pantas akan sampai ke penghujung senarai.
Algoritma ini berjalan dalam kerumitan masa O(n) dan menggunakan ruang O(1).
Atas ialah kandungan terperinci Soalan Temuduga DSA Paling Banyak Ditanya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!