Sắp Xếp Một Tủ Sách Theo Bảng Chữ Cái?

Chắc hẳn một tủ sách gọn gàng, ngăn nắp và được sắp xếp hợp lý luôn là điều mà mọi người mong muốn. Thế nhưng không phải lúc nào chúng ta cũng có thể làm được việc đó một cách khoa học được. Hãy cùng đọc bài viết để xem một vài cách sắp xếp tủ sách và lựa chọn cho mình một cách phù hợp nhé!


Hãy tưởng tượng rằng bạn đang làm việc tại thư viện lớn của một trường đại học. Trong một buổi chiều bình lặng, bỗng có một đơn hàng với hơn 1280 cuốn sách khác nhau được chuyển đến. Đống sách ấy được chất thành một hàng dài nhưng lại chẳng theo một thứ tự nào hết và hệ thống sắp xếp tự động thì lại hỏng mất rồi. Còn tệ hơn nữa là các lớp học sẽ bắt đầu vào ngày mai, nghĩa là ngay từ sáng sớm, sinh viên sẽ ào đến để tìm tài liệu. Làm cách nào để bạn có thể sắp xếp đống sách này cho kịp thời gian đây?



Sắp xếp nổi bọt


Cách đầu tiên là hãy bắt đầu với một vài cuốn ở một đầu của dãy sách. Nếu hai cuốn đầu tiên đang đúng theo thứ tự, hãy để nguyên chúng ở đó. Nếu không thì hãy tráo chúng lại với nhau. Tiếp theo, hãy làm điều tương tự với cuốn sách thứ hai và ba, lặp lại quá trình ấy và tiếp tục cho đến cuối hàng. Ở một thời điểm nào đó, bạn sẽ bắt gặp cuốn sách đáng ra phải nằm ở cuối dãy, và sẽ phải hoán đổi nó với những cuốn theo sau, mãi cho đến khi nó trở về đúng nơi nó thuộc về ở cuối hàng. Cuối cùng, bạn chỉ cần bắt đầu lại từ đầu và tiếp tục quá trình trên cho tới khi tất cả chỗ sách được sắp xếp hết.


Sắp xếp Nổi bọt, một cách thức tuy đơn giản nhưng lại chậm chạp


Phương pháp này gọi là Sắp xếp Nổi bọt, một cách thức tuy đơn giản nhưng lại chậm chạp. Bạn sẽ phải so sánh 1279 lần trong lượt sắp xếp đầu tiên rồi đến 1278 lần trong lượt tiếp theo sau, và cứ tiếp tục như thế thì tổng cộng lại sẽ là 818 560 lượt so sánh mà bạn phải thực hiện. Nếu mỗi lượt kéo dài 1 giây, cả quá trình sẽ cần tới hơn 9 ngày để hoàn thành.


Sắp xếp chèn


Phương án thứ hai là hãy lại bắt đầu sắp xếp với hai cuốn sách đầu tiên thôi, rồi sau đó lấy cuốn thứ ba và so với cuốn ở vị trí thứ hai. Nếu nó đứng trước cuốn ở vị trí thứ hai, hãy tráo chúng rồi tiếp tục so với cuốn ở vị trí đầu và tráo lần nữa nếu cần thiết. Bây giờ bạn đã tráo xong ba cuốn sách đầu tiên. Hãy cứ tiếp tục thêm từng cuốn sách một vào dãy sách đã sắp xếp, bắt đầu so sánh, và tiến hành tráo cuốn mới với cuốn trước nó cho tới khi tất cả chúng được đặt đúng vị trí trong đống sách đã sắp xếp.


Cách này được gọi là Sắp xếp Chèn. Khác với Sắp xếp Nổi bọt, cách này không bắt buộc bạn phải so sánh từng cặp. Trung bình, chúng ta chỉ cần phải so sánh mỗi cuốn sách với một nửa số sách trước nó. Và trong trường hợp này, số lượt so sánh bạn phải thực hiện sẽ là 409280, mất tới gần 5 ngày để hoàn thành công việc. Bạn vẫn phải so sánh quá nhiều lần.


Sắp xếp nhanh


Có một cách này hay hơn nè. Đầu tiên, hãy chọn ngẫu nhiên một cuốn sách. Hãy xem nó là Vách Ngăn và tiến hành việc so sánh nó với tất cả các cuốn sách khác. Sau đó, chia dãy sách ra bằng cách đặt tất cả những cuốn có thứ tự trước Vách Ngăn ở bên tay trái, và những cuốn sau Vách Ngăn ở bên tay phải. Bằng cách này, bạn có thể tiết kiệm được thời gian vì không còn phải so sánh bất kỳ cuốn sách nào ở bên trái với đống sách ở bên phải.


Sắp xếp Nhanh có thể giúp bạn phân loại sách trong vòng chưa đầy 3 tiếng rưỡi


Giờ, hãy chỉ tập trung vào số sách bên tay trái (hoặc phải), bạn lại có thể lựa chọn cho mình một Vách Ngăn bất kì và chia số sách đó thành những cuốn đứng trước và đứng sau. Bạn có thể liên tục chọn ra các Vách Ngăn phụ như vậy cho tới khi có rất nhiều dãy sách phụ với mỗi dãy, và lúc này, bạn có thể sắp xếp nhanh chóng chỗ sách đã chia bằng phương pháp Sắp xếp Chèn. Mỗi lần chia ngăn chỉ cần khoảng 1280 lượt so sánh. Nếu các Vách Ngăn của bạn khá đồng đều, việc chia số sách thành 128 dãy phụ gồm 10 cuốn sẽ chỉ mất khoảng 7 lượt hay 8 960 giây. Phân loại hết các dãy phụ này sẽ tốn thêm khoảng 22 giây mỗi lần.


Nói chung, phương pháp có tên Sắp xếp Nhanh này có thể giúp bạn phân loại sách trong vòng chưa đầy 3 tiếng rưỡi. Tuy nhiên, vẫn có một điều mà bạn phải cảnh giác. Các Vách Ngăn của bạn hoàn toàn có thể bị lệch, và cuối cùng vẫn sẽ chẳng tiết kiệm được một tí thời gian nào. Nhưng cũng may mắn là điều này rất hiếm khi xảy ra. Vì vậy nên Sắp xếp Nhanh có thể được coi là một trong những phương án hữu hiệu nhất được các nhà lập trình sử dụng cho đến ngày nay. Họ thường dùng nó để sắp xếp hàng hóa theo giá cả trên các cửa hàng trực tuyến, hoặc để tạo ra một danh sách các cây xăng gần với một địa điểm nhất định dựa trên khoảng cách.



Trong trường hợp của bạn, bạn hoàn toàn có thể sắp xếp nhanh mà vẫn còn thừa thời gian. Và đó lại là một ngày bận rộn khác trong thư viện.


Còn bạn thì sao? Sau khi đọc xong bài viết này, bạn sẽ thử sắp xếp nhanh kệ sách của mình chứ?

Người viết: Quang Minh
Người thiết kế: Anh Thư

(*) Bản quyền bài viết thuộc về BOOKIEE.ORG. Khi chia sẻ, cần phải trích dẫn nguồn đầy đủ gồm tên người viết, tên người thiết kế và Bookiee - Sách Là Niềm Vui. Mọi hành vi sao chép hoặc trích nguồn, chia sẻ bài viết không đầy đủ đều không được chấp nhận và phải gỡ bỏ.

 

Bookiee - Sách là niềm vui

👉 Fanpage

👉 VUI HƠN - ĐỌC NHIỀU HƠN

👉 Instagram

👉 Youtube

👉 Quyên góp


32 lượt xem0 bình luận

Bài đăng liên quan

Xem tất cả