• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Thuật toán xếp hạng cho mảng ít phần tử

Đây là nơi để các bạn trao đổi về cấu trúc dữ liệu và giải thuật

Điều hành viên: Điều hành

i8brfakz1gvee
Bài viết: 2
Ngày tham gia: T.Sáu 14/06/2013 1:59 pm

Re: Thuật toán xếp hạng cho mảng ít phần tử

Gửi bàigửi bởi i8brfakz1gvee » T.Sáu 14/06/2013 2:34 pm

Mình thì không biết code nhưng thuật toán thì mình biết.
Nếu sắp xếp mảng dạng số, mà số lớn nhất của mảng xấp xỉ bẳng tổng số phẩn tử trong mảng thì:
VD: Cho mảng A(80) phẩn tử 0 - 99 như vậy số lớn nhất của mảng là 99 ~~ 80 phần tử ==> đủ điều kiện, có thể làm như sau:
Cho Mảng A = Array(2,9,99,0........4,50)
Giờ bạn tạo thêm một mảng khác
Mảng B = Array(99) ---- Mảng B có 99 phần tử vì 99 là số lớn nhất của mảng A

FOR i = 0 TO 99
B[i] = false
NEXT

FOR i = 0 TO 80
B[A[i]] = true
NEXT

z = 0
FOR i = 0 TO 99
IF B[i] = true then
A[z] = i
z = z + 1
END IF
NEXT

Đây là cách xếp mảng nhanh nhất hiện nay (chỉ áp dụng cho các mảng có đủ điều kiện trên thôi nhá)




Quay về “Cấu trúc dữ liệu và giải thuật”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách