01/10/2018, 11:16

Hỏi về thuật toán sắp xếp theo hạng

Moi người cho mình hỏi về thuật toán sắp xếp theo hạng với.
Mình học môn tính toán song song và phân tán, có nhận đề tài này.
Mình có tìm thuật toán sắp xếp theo hạng nhưng không có kết quả.
Ace nào trong diễn đàn có biết về thuật toán này hoặc có tài liệu về môn này thì cho mình xin với ạ.
xin cám ơn.

HK boy viết 13:26 ngày 01/10/2018

Nghe thuật toán sắp xếp theo hạng lạ quá nhỉ. Bạn có ví dụ nào không?

Hoặc là chụp chương đầu của giáo trình để mọi người xem, chứ từ thuở cha sinh mẹ đẻ đến giờ mình chưa nghe cụm từ này

X viết 13:31 ngày 01/10/2018

Chắc là hậu quả của việc dịch sang tiếng Việt những từ không nên dịch

guo_da viết 13:25 ngày 01/10/2018

Thuật toán sắp xếp song song (thuật toán sắp xếp theo hạng) chính là nó đấy ạ.
có bác nào biết hay nghe qua không ạ.
em tìm mãi mà không thấy

HK boy viết 13:31 ngày 01/10/2018

@MR.QD:

Hoặc là chụp chương đầu của giáo trình để mọi người xem, chứ từ thuở cha sinh mẹ đẻ đến giờ mình chưa nghe cụm từ này

20 characters

guo_da viết 13:26 ngày 01/10/2018

Không ạ. em mới nhận đề tài. Môn này cũng không có tài liệu luôn :v
chắc em phải lên hỏi lại giáo viên thôi. huhu

X viết 13:17 ngày 01/10/2018

Thuật toán sắp xếp song song

https://www.tutorialspoint.com/parallel_algorithm/parallel_algorithm_sorting.htm

HK boy viết 13:17 ngày 01/10/2018

ui, em cũng đang định post lên

thôi tặng bạn ấy keyword google :3

lmgtfy.com

LMGTFY

LMGTFY

guo_da viết 13:25 ngày 01/10/2018

Tks các bác ạ.
Chắc em vẫn phải lên hỏi lại cho chắc chắn thôi.

Hung viết 13:31 ngày 01/10/2018

Hỏi giáo viên tên đề tài bằng tiếng Anh nha.

Tiếng Việt nhiều tên dịch sang nghe khủng lắm, giống như đề tài cho nhóm nghiên cứu, giống như làm màu

guo_da viết 13:30 ngày 01/10/2018

Tks các bác. em tìm được rồi ạ
Pilot hay còn gọi là sắp xếp theo cách đánh số
sắp xếp theo phần tử hoa tiêu
sắp xếp theo hạng
Tiếng việt phong phú quá

rogp10 viết 13:17 ngày 01/10/2018

Rank sort nếu muốn dịch ra thì cũng phải đi kèm từ tiếng Anh để tra cứu chứ

Với lại từ dịch ra chưa được chuẩn hóa nên rất khó chịu (thread là gì? concurrency?)

anh tuan viết 13:25 ngày 01/10/2018

bạn ơi cho mình xin slide đc ko? bọn mình cũng đang làm đề tài này hjx hjx.gấp quá.

anh tuan viết 13:18 ngày 01/10/2018

cho mình xin slide vs ạ.haui31101996@gmail.com

guo_da viết 13:24 ngày 01/10/2018

Mình cũng Haui nhé bạn :))
Mình chỉ đưa code tuần tự cho bạn dễ hình dung thuật toán thôi.
Còn lại thì bạn tự làm đê

int* rank_sort(int list[],int n)
{
	int i,j;
	int rank_list[50] = {0};
	int sort_list[50] = {0};


	for(i=0; i<n; i++)
	{
		for(j=0; j<i; j++)
		{
			if(list[i] >= list[j])
				rank_list[i]++;
			else
				rank_list[j]++;
		}
	}

	printf("\nHang cua moi phan tu mang\n");
	printf("\n\tPhan tu\t\tHang\n");
	for(i=0; i<n; i++)
		printf("\t%d\t\t%d\n",list[i],rank_list[i]+1);

	for(i=0; i<n; i++)
		sort_list[rank_list[i]] = list[i];

	printf("\nSap xep mang tang dan theo hang\n\t");
	for(i=0; i<n; i++)
		printf("%d ",sort_list[i]);
	printf("\n");
	return sort_list;

}
Lại Phi viết 13:22 ngày 01/10/2018

Các anh chị cho e hỏi cái sắp xếp theo hạng nếu có 2 giá trị trùng nhau thì sắp xếp kiểu gì ạ?

rogp10 viết 13:25 ngày 01/10/2018

Chỗ dựng bảng bạn thêm đk vào chỗ if(a[i] == a[j]).

note

Thật sự cái này chỉ để đọc cho biết vì đã O(n^2) time mà còn O(n) mem

guo_da viết 13:28 ngày 01/10/2018

if A[i] < A[j] rank++ else if A[i]==A[j] && i<j rank++
Mình làm thế.
Cũng mong có cách tối ưu hơn để tham khảo.

rogp10 viết 13:20 ngày 01/10/2018

Bạn nghiên cứu code #16 xem

Bài liên quan
0