• 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

Moderator: Điều hành

i8brfakz1gvee
Posts: 2
Joined: Fri 14/06/2013 1:59 pm

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

Postby i8brfakz1gvee » Fri 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á)




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

Who is online

Users browsing this forum: No registered users and 3 guests