PDA

View Full Version : mình xin thuật toán hoán vị các phần tử trong tập hợp



whatsthat
30-10-2003, 19:38
ví dụ tập hợp có 4 phần tử {1,2,3,4}, hoán vị được tổng cộng 24 trường hợp. gíup mình cái code ví dụ vài giải thích giúp mình. cám ơn và mong nhiều lắm.

VietcomPro2004
15-01-2004, 13:54
Nếu bạn muốn đoạn Code ví dụ về thuật toán này, hãy Mail cho mình.

songok
03-03-2004, 03:07
dung de quy : thuat toan nhu sau gia su ta da co n-1 phan tu da hoan vi , ta doi cho lan luot phan tu thu n voi phan tu hien hanh , in hoan vi roi sau do cho phan tu do tro lai vi tri cu , cu nhu the ta trao doi het n-1 phan tu ;

Con mot thuat toan nua : la thuat toan quay lui

bete
04-03-2004, 13:51
Tui nghĩ cách đệ qui có logic dễ viết nhưng khi viết cũng dễ tiêu lắm đó. Tui đoán songok tính như sau phải 0 : để giải cho N phần tử, mình tìm tât cả các hoán vị (cách sắp xếp) của (N-1) phần tử trườc. Với mỗi cách sắp xếp con này => chèn phần tử thứ N vô từng vị trí khác nhau trong cách sắp xếp con. Cách này gọn nhưng có thể có 1 vấn đề nhỏ: Ham đệ qui cho (N-1) phần tử phải trả về 1 danh sách của tất cả các cách sắp xếp => trả về 1 mảng các cách sắp xếp. Mỗi cách sắp xếp lại chính là 1 mảng (N-1) phần tử. Như vậy hàm đệ qui cho (N-1) phần tử phải trả về 1 mảng 2 chiều. Và với N khá lớn thì mảng này sẽ rất lớn ! (không biết tui có sai chỗ nào 0 ?)

minhlazy
08-03-2004, 00:54
Bạn có biết thuật toán sinh ko, thử dùng nó xem.
Nếu ko biết thì hãy gửi mail cho tôi tôi sẽ cho bạn source code.