Cũng là thuật toán sắp xếp chỗ thôi nhưng thay vì dùng biến tạm để gán thì dùng 2 phép tính ^ (xor):
a = a ^ b;
b = b ^ a;
a = a ^ b;
một dãy số gồm 20000 số phân biệt khác nhau
miển giá trị từ 1 đến 30000
xắp xếp dãy số thứ tự tăng
yêu cầu:nhanh nhất ,đỡ tốn bộ nhớ nhất
Cũng là thuật toán sắp xếp chỗ thôi nhưng thay vì dùng biến tạm để gán thì dùng 2 phép tính ^ (xor):
a = a ^ b;
b = b ^ a;
a = a ^ b;
Nói thế này thì chịu thật đó, nguy hiểm nhất là cái từ nhanh nhất đó.
Chắc là thầy giáo muốn cậu làm theo thuật toán heapsort hoặc binsort gì đó. Tìm hiểu và hỏi thầy giáo của bạn xem sao?
Regards!
Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó.Email: kevin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
Phone: 0972 89 7667
Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp hoặc bị sự thiếu kỷ luật làm tiêu tan sự nghiệp.
Đối với dãy số dài như thế theo mình thì dùng quicksort hoặc mergesort chắc là tối ưu nhất . Bạn có thể tham khảo trong bất kỳ giáo trình CTDL nào .
mình chỉ mới học mở đầu về kỹ thuật lập trình thui,ko về đụng chạm gì đến mấy kỹ thuật cao siêu,ông thầy của mình gơi ý là lưu trữ số trên bit và truy xuất cũng bàng các thao tác trên bit là nhanh nhất.
@huynguyen:cái đổi giá trị = bit cũa anh em có bit nhưng anh có thể nói cụ thể hơn ko,chứ em cũng thương dùng cách của anh cho việc sắp xếp dữ liệu lớn bé của mảng nhưng nó sẽ ko thỏa yêu cầu nhanh nhất và ít tốn bộ nhớ nhất của đề bài này ?