Rumah > pembangunan bahagian belakang > Tutorial Python > Carian Buih... Tukar (x, y);

Carian Buih... Tukar (x, y);

Susan Sarandon
Lepaskan: 2024-12-07 08:17:12
asal
385 orang telah melayarinya

Carian Buih

Carian gelembung ialah salah satu teknik pengisihan yang paling biasa dan asas yang digunakan untuk mengisih tatasusunan. Parameter yang paling biasa ialah tatasusunan yang hendak diisih dan saiz tatasusunan (pilihan).

Teknik yang digunakan dalam Isih Buih
Dalam isihan gelembung, pengisihan berlaku berdasarkan perbandingan antara dua elemen, seperti mana satu lebih besar atau lebih kecil.

Bubble Search... Swap (x, y);

Cth:

list = [2, 1]
if list[0] > list[1]:
  list[0], list[1] = list[1], list[0]
Salin selepas log masuk
  • Di atas senarai menjadi [1, 2]. Di sini kita membandingkan indeks ke-0 dan ke-1, jika nilai indeks ke-0 lebih besar daripada nilai indeks ke-1 maka pertukaran akan berlaku.
  • Proses ini akan digunakan pada semua elemen dalam tatasusunan sehingga tatasusunan diisih.
  • Kita perlu menggunakan proses ini secara berulang untuk mengisih tatasusunan saiz N.

Pelaksanaan Isih Buih!

def bubble_sort (array: list) -> list:
  for i in range(0, len(array) - 1):
    for j in range(0, len(array) - 1 - i):
      if array[j] > array[j + 1]:
        array[j], array[j+1] = array[j+1], array[j]

  return arr
Salin selepas log masuk
  • Gelung luar akan dijalankan untuk masa N untuk menggerakkan semua pada kedudukan yang betul. Gelung luar bertindak sebagai pas yang disebut dalam imej di atas.
  • Gelung dalam akan membuat perbandingan antara elemen semasa dan seterusnya, jika keadaan memenuhi maka pertukaran akan berlaku.

Kerumitan masa ialah O(N^2)

cetak(Selamat Pengekodan)

Atas ialah kandungan terperinci Carian Buih... Tukar (x, y);. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan