TAILIEUCHUNG - Chương 9: Bảng

const int max_chars = 28; template void Sortable_list :: radix_sort( ) { Record data; Queue queues[max_chars]; for (int position = key_size − 1; position = 0; position−−) { // Loop from the least to the most significant position. while (remove(0, data) == success) { int queue_number = alphabetic_order((position)); queues[queue_number].append(data); // Queue operation. . | CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Chương 9: Bảng Ma trận 2 chiều vs. 1 chiều A[i, j] B[ max_row*i + j] C[i + max_col*j] Chương 9: Bảng Bảng và chỉ mục Chương 9: Bảng Radix sort r a t m o p c a t m a p c a r t o p c o t t a r r a p Bước 1 r a t m o p c a t m a p c a r t o p c o t t a r r a p r a t m o p c a t m a p c a r t o p c o t t a r r a p r a t m o p c a t m a p c a r t o p c o t t a r r a p Bước 2 Bước 3 Chương 9: Bảng Đánh giá Radix sort Số lần so sánh là Θ(n k), n là số phần tử và k là số ký tự trên khóa So sánh với các phương pháp khác là n lg n: Nếu k lớn và n là nhỏ thì radix sort chậm Nếu k nhỏ và n là lớn thì radix sort nhanh hơn Bất tiện: Việc tách thành 27 danh sách con và ghép lại lúc sau trên DS liên tục gây ra việc di chuyển nhiều phần tử Khóa so sánh là chuỗi nhị phân thì không tốt Chương 9: Bảng Radix sort trên DSLK Chương 9: Bảng Giải thuật Radix sort trên DSLK Algorithm radix_sort Input: danh sách cần sắp thứ tự Output: danh sách đã sắp thứ tự //Mỗi queue chứa các phần tử có ký tự tương ứng 1. queues là một dãy có max_character hàng //Lặp k bước, kiểm tra các ký tự tại vị trí k 2. for position = size(khóa) to 0 . while (danh sách còn) . Lấy phần tử đầu tiên . Tính toán thứ tự của chữ cái ở vị trí k trong khóa . Đẩy phần tử này vào queue tương ứng . Nối tất cả các queue lại với nhau thành danh sách End radix_sort Chương 9: Bảng Mã C++ Radix sort trên DSLK const int max_chars = 28; template void Sortable_list :: radix_sort( ) { Record data; Queue queues[max_chars]; for (int position = key_size − 1; position >= 0; position−−) { // Loop from the least to the most significant position. while (remove(0, data) == success) { int queue_number = alphabetic_order((position)); queues[queue_number].append(data); // Queue operation. } rethread(queues); // Reassemble the list. } } Chương 9: Bảng Nối các queue liên kết Cách 1: Dùng các CTDL queue Phải dùng và .

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.