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.
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.
Nếu bạn muốn đoạn Code ví dụ về thuật toán này, hãy Mail cho mình.
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
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 ?)
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.
Bookmarks