Học Python - Bài 48 Sắp xếp mảng theo thứ tự tăng dần
DANH SÁCH TÓM TẮT:
Giới Thiệu
Khi làm việc với mảng số nguyên, một trong những bài toán cơ bản là tìm phần tử lớn nhất đầu tiên xuất hiện trong mảng và vị trí của nó. Điều này giúp chúng ta hiểu được cách truy xuất dữ liệu một cách tối ưu và ứng dụng trong nhiều bài toán thực tế.
Trong bài viết này, chúng ta sẽ viết hai chương trình Python: một cách đơn giản và một phiên bản tối ưu hóa để giải quyết bài toán này.
# Hàm tìm phần tử lớn nhất đầu tiên và vị trí của nó (cách đơn giản) def tim_max_va_vi_tri(arr): max_value = max(arr) # Tìm giá trị lớn nhất vi_tri = arr.index(max_value) # Tìm vị trí đầu tiên của giá trị lớn nhất print(f"Phần tử lớn nhất đầu tiên trong mảng: {max_value}") print(f"Vị trí của phần tử lớn nhất: {vi_tri}") # Nhập số lượng phần tử của mảng n = int(input("Nhập số phần tử của mảng: ")) # Nhập các phần tử của mảng từ người dùng danh_sach = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)] # Gọi hàm xử lý tim_max_va_vi_tri(danh_sach)
Giải Thích:
Cách 2: Chương Trình Tối Ưu Hóa
# Hàm tìm phần tử lớn nhất đầu tiên và vị trí của nó (tối ưu hóa)
def tim_max_va_vi_tri(arr): if not arr: print("Mảng rỗng!") return max_value = arr[0] # Giả sử phần tử đầu tiên là lớn nhất vi_tri = 0 # Lưu vị trí của phần tử lớn nhất for i in range(1, len(arr)): if arr[i] > max_value: max_value = arr[i] vi_tri = i # Cập nhật vị trí mới của phần tử lớn nhất print(f"Phần tử lớn nhất đầu tiên trong mảng: {max_value}") print(f"Vị trí của phần tử lớn nhất: {vi_tri}") # Nhập số lượng phần tử của mảng n = int(input("Nhập số phần tử của mảng: ")) # Nhập các phần tử của mảng từ người dùng danh_sach = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)] # Gọi hàm xử lý tim_max_va_vi_tri(danh_sach)
Giải Thích:
So Sánh Hai Cách
Phương pháp | Số lần duyệt mảng | Hiệu suất |
Cách đơn giản (dùng max() và index()) | 2 lần | Chậm hơn |
Cách tối ưu (duyệt một lần) | 1 lần | Nhanh hơn |
Ứng Dụng
Kết Luận
Cả hai cách đều có thể giải quyết bài toán tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của nó. Tuy nhiên, cách tối ưu giúp chương trình chạy nhanh hơn và tiết kiệm tài nguyên hơn khi làm việc với tập dữ liệu lớn. Hãy thử nghiệm với các bộ dữ liệu khác nhau để kiểm chứng!
Khóa học Python online từ cơ bản đến nâng cao
2 Đề thi học sinh giỏi Tin học THCS cấp tỉnh Tiền Giang có đáp án SỞ…
1 Đề Thi Học Sinh Giỏi Tin học THCS cấp Tỉnh Tiền Giang có đáp…
Phần 1: Các bài tập dễ và cơ bản làm được các bài này các…
100 triệu là mức lương của lập trình Python vì sao? 1. Vì sao Python…
Bài 71: Đổi tất cả ký tự trong một chuỗi thành ký tự thường bằng…
Bài 26 - Tính Tổng Những Số Chia Hết Cho 3 và 5 bằng Python…
This website uses cookies.