butiran

py simple sort

Bagi kebanyakan orang, bubble sort sepertinya merupakan algoritma mengurutkan pertama yang didengar dalam kuliah sains komputer mereka [ 1 ], dengan visualisasi prosesnya disertai diagram alir terkait telah tersedia [ 2 ]. Algoritma sederhana ini bekerja buruk dalam penggunaan sebenarnya dan pemanfaatan utama algoritma ini adalah untuk alat edukasi [ 3 ]. Dalam Python telah terdapat metode dan fungsi bawaaan untuk mengurutkan larik berjenis list, yaitu sort() [ 4 ] dan sorted() [ 5 ].

buble sort code

Dengan membandingkan dua bilangan berurutan dan menukar tempatnya bila suatu kondisi terpenuhi, biasanya bilangan pertama lebih kecil dari bilangan kedua, dapat dihasilkan kode berikut

# Sort using bubble sort
print("x: bubble sort")
x = [9, 2, 5, 8, 4, 3, 6, 7, 1, 0]
print(x)
N = len(x)
for i in range(0, N-1):
    for j in range(i+1, N):
        if x[i] > x[j]:
            x[i], x[j] = x[j], x[i]
print(x)

dengan hasilnya adalah

x: bubble sort
[9, 2, 5, 8, 4, 3, 6, 7, 1, 0]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

yang dapat dicoba secara daring pada 3xmqnd8zw .

built-in method and function

Sebuah list memiliki metode bawaan sort() yang berfungsi untuk mengurutkan nilai-nilai yang disimpannya. Selain itu Python juga menyediakan fungsi bawaan sorted() yang menerima argumen sebuah list dan mengembalikan nilai fungsi list yang sudah diurutkan nilai-nilai yang disimpannya.

sort()

Kode berikut

# Sort using sort() built-in method
print("y: sort() method")
y = [9, 2, 5, 8, 4, 3, 6, 7, 1, 0]
print(y)
y.sort()
print(y)

akan menghasilkan

y: sort() method
[9, 2, 5, 8, 4, 3, 6, 7, 1, 0]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

yang dapat dicoba di 3xmqnr4d2 .

sorted()

Dengan kode di 3xmqnwacn berupa

# Sort using sorted() built-in function
print("z: sorted() function")
z = [9, 2, 5, 8, 4, 3, 6, 7, 1, 0]
print(z)
z = sorted(z)
print(z)

akan diperoleh

z: sorted() function
[9, 2, 5, 8, 4, 3, 6, 7, 1, 0]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

sebagai hasilnya.

exer

  1. Perhatikan kode berikut
    nums1 = [5, 6, 7, 8, 9, 0, 1, 2, 3, 4]
    nums2 = sorted(nums1)
    print(nums1)
    print(nums2)
    
    yang terdapat di 3xmqp7j6a . Bagaimana hasilnya?
  2. Mengacu pada soal sebelumnya mengapa berbeda hasil pada list pertama dan kedua?
  3. Kapan digunakan sort() dan kapan digunakan sorted()?
  4. Apakah metode sort() dan funsi sorted() dapat mengurutkan dari besar ke kecil?
  5. Pada contoh kode bubble sort yang diberikan modifikasi apa yang diperlukan agar hasilnya adalah mengurutkan bilangan dari besar ke kecil? Perhatikan kode di 3xmqppuhu , bila diperlukan.

note

  1. Olivera Popović, “Bubble Sort in Python”, Stack Abuse, 10 Feb 2020, url https://stackabuse.com/bubble-sort-in-python/ [20211218].
  2. DataSoft, “Python Data Structures and Algorithms: Bubble sort”, W3Resource, 4 Jan 2021, url https://www.w3resource.com/python-exercises/data-structures-and-algorithms/python-search-and-sorting-exercise-4.php [20211218].
  3. Wikipedia contributors, “Bubble sort”, Wikipedia, The Free Encyclopedia, 23 November 2021, 22:16 UTC, url https://en.wikipedia.org/w/index.php?oldid=1056844603 [20211218].
  4. kartik, shubham_singh, AmiyaRanjanRout, “Python List sort() method”, GeeksforGeeks, 3 Aug 2021, url https://www.geeksforgeeks.org/python-list-sort-method/ [20211218].
  5. Parewa Labs, “Python sorted()”, Programiz, url https://www.programiz.com/python-programming/methods/built-in/sorted [20211218].

comments

 

{% comment %} {% endcomment %}