✨Sắp xếp theo cơ số

Sắp xếp theo cơ số

Trong khoa học máy tính, thuật toán sắp xếp theo cơ số là một thuật toán sắp xếp không so sánh. Thuật toán này được thực hiện dựa trên ý tưởng nếu một dãy số đã được sắp xếp hoàn chỉnh thì từng chữ số cũng sẽ được sắp xếp hoàn chỉnh dựa trên giá trị của các chữ số đó. Thuật toán này yêu cầu dãy cần được sắp xếp có thể so sánh thứ tự các vị trí vì thế sắp xếp theo cơ số không giới hạn ở tập số nguyên (ta có thể dễ dàng đưa dạng xâu về cơ số nhị phân).

Sắp xếp theo cơ số nhị phân

Trong bài này chỉ giới thiệu giải thuât Sắp xếp theo cơ số nhị phân. Giả sử chúng ta cần sắp xếp danh sách a[1..n], trong đó các phần tử là các số tự nhiên biểu diễn bằng 31 bit. Các bit được đánh số thứ tự từ phải sang trái bằng các số 0..30. Để đọc được bit thứ k của số tự nhiên x cần có một hàm GetBit(x,k). Hàm này có thể có sẵn trong ngôn ngữ lập trình, trong trường hợp không có sẵn nó có thể viết nhờ toán tử LShift (dịch trái) và toán tử AndBit. (Trong nhiều ngôn ngữ lập trình, từ khóa của toán tử AndBit trùng từ khóa với toán tử and theo nghĩa toán tử logic). Function GetBit(Int: x,k) Return LShift(x,k) AndBit 1.

Để sắp xếp (phân chia) danh sách theo bit thứ k của danh sách, ta tìm phần tử đầu tiên bên trái của danh sách có bit thứ k là 1 và phần tử đầu tiên bên phải có bit thứ k là 0 rồi đổi chỗ (Swap) cho nhau. Quá trình tiếp tục cho đến khi con trỏ hai đầu gặp nhau. Khi đó vị trí của hai con trỏ gặp nhau chia danh sách thành hai danh sách con: đanh sách đầu chứa các phần tử có bit thứ k bằng 0, danh sách sau chứa các phần tử có bit thứ k bằng 1.
Bằng lời giải đệ quy, tiếp tục phân chia các danh sách con này theo bit thứ k-1.. cho đến bit thứ 0.

Mã giả

Procedure RadixSort(list: a, int:s,e, k){
Var Int i:=s,j:=e While i=0 {
While GetBit(a[i],k)=0 do i:=i+1 While GetBit(a[j],k)=1 do j:=j-1 Swap(a[i],a[j])
} If GetBit(a[i],k)=0 then i:=i+1 } RadixSort(a,s,j,k-1) RadixSort(a,j+1,s,k-1) }
Lời gọi RadixSort(a,1,n,30) sẽ sắp xếp toàn bộ danh sách a[1..n].

Ví dụ

Xét ví dụ sau đây.

a=(2,6,3,7,4,5,1)
Các số trong danh sách đều có thể biểu diễn bằng số nhị phân 3 bit. Bảng sau đây cho biểu diễn nhị phân của từng số trong danh sách
Với k = 2 việc phân chia theo bit thứ 2 tiến hành đổi chỗ a[2]=6 cho a[7]=1, và phân chia danh sách a thành hai danh sách a[1..3] và a[4..7]
Sau đó thuật toán đưa danh sách a[4..7] vào _stack_ và tiến hành phân chia danh sách a[1..3] theo bit thứ k = 1, bằng cách đổi chỗ a[1] = 2 cho a[2] = 1,thành a[1..1] và a[2..3]
Tiếp theo là phân chia danh sách a[2..3] theo bit thứ 0 thành a[2..2] và a[3..3]
Đến đây việc sắp xếp danh sách a[1..3] hoàn thành. Thuật toán tiếp lấy a[4..7] từ trong _stack_ ra để sắp xếp theo cách phân chia như trên, lần lượt là quá trình phân chia như sau:
👁️ 1 | 🔗 | 💖 | ✨ | 🌍 | ⌚
Trong khoa học máy tính, thuật toán **sắp xếp theo cơ số** là một thuật toán sắp xếp không so sánh. Thuật toán này được thực hiện dựa trên ý tưởng nếu một dãy số
Trong khoa học máy tính và trong toán học, **thuật toán sắp xếp** là một thuật toán sắp xếp các phần tử của một danh sách (hoặc một mảng) theo thứ tự (tăng hoặc giảm).
Trong khoa học máy tính, **sắp xếp trộn** (_merge sort_) là một thuật toán sắp xếp để sắp xếp các danh sách (hoặc bất kỳ cấu trúc dữ liệu nào có thể truy cập tuần
**Sắp xếp chèn** (_insertion sort_) là một thuật toán sắp xếp bắt chước cách sắp xếp quân bài của những người chơi bài. Muốn sắp một bộ bài theo trật tự người chơi bài rút
**Sắp xếp đếm phân phối** là một phương pháp sắp xếp có độ phức tạp tuyến tính. Nó dựa trên giả thiết rằng, các khoá cần sắp xếp là các số tự nhiên giới hạn
liên_kết=https://en.wikipedia.org/wiki/File:Bubble-sort-example-300px.gif|nhỏ|300x300px|**Một ví dụ về sắp xếp nổi bọt. Bắt đầu từ vị trí đầu tiên của danh sách (bên trái), so sánh các cặp số với nhau, nếu không đúng thứ tự nhỏ-lớn thì đảo
**Sắp xếp nhanh** (_Quicksort_), còn được gọi là sắp xếp kiểu phân chia (_part sort_) là một thuật toán sắp xếp phát triển bởi C.A.R. Hoarec sắp thành hai danh sách con. Khác với sắp
nhỏ|Mô phỏng thuật toán sắp xếp vun đống|403x403px **Sắp xếp vun đống** (_Heapsort_) dựa trên một cấu trúc dữ liệu được gọi là đống nhị phân (_binary heap_), gọi đơn giản là đống. Trong mục
Trong khoa học máy tính, **thứ tự tô pô** của một đồ thị có hướng là một thứ tự sắp xếp của các đỉnh sao cho với mọi cung từ _u_ đến _v_ trong đồ
Orzbow bảo vệ góc cạnh Áp dụng cho trang trí nhà trẻ, trang trí phòng trẻ em, đổi mới sân chơi, bảo vệ an ninh gia đình sản phẩm Essential Sản phẩm sử dụng băng
Orzbow bảo vệ góc cạnh Áp dụng cho trang trí nhà trẻ, trang trí phòng trẻ em, đổi mới sân chơi, bảo vệ an ninh gia đình sản phẩm Essential Sản phẩm sử dụng băng
Orzbow bảo vệ góc cạnh Áp dụng cho trang trí nhà trẻ, trang trí phòng trẻ em, đổi mới sân chơi, bảo vệ an ninh gia đình sản phẩm Essential Sản phẩm sử dụng băng
Một sản phẩm an toàn phải có cho trẻ em và người lớn: Câu trả lời tốt nhất cho nhu cầu của cha mẹ bận rộn! Tại sao chọn chúng tôi?1> bọt cao su hấp
thumb|Một ví dụ về lấy dữ liệu đầu ra từ truy vấn cơ sở dữ liệu SQL. **Cơ sở dữ liệu** () là một tập hợp các dữ liệu có tổ chức liên quan đến
**Ứng dụng cơ sở dữ liệu** là một chương trình máy tính có mục đích chính là nhập và truy xuất thông tin từ cơ sở dữ liệu được máy tính hóa. Ví dụ ban
**Cục Cảnh sát quản lý trại giam, cơ sở giáo dục bắt buộc, trường giáo dưỡng (C10)** trực thuộc Bộ Công an Việt Nam có chức năng, nhiệm vụ giúp Bộ trưởng tham mưu với
**Hệ thống quản lý cơ sở dữ liệu hoạt động** (còn gọi là OLTP Trên cơ sở dữ liệu Transaction Processing Line), được sử dụng để quản lý Dữ liệu động trong thời gian thực.
**Đợt sắp xếp, sáp nhập đơn vị hành chính tại Việt Nam 2019–2022** đề cập đến cuộc sắp xếp, sáp nhập các đơn vị hành chính (ĐVHC) cấp xã và cấp huyện tại Việt Nam
**Cục Văn hóa cơ sở, Gia đình và Thư viện** là tổ chức hành chính thuộc Bộ Văn hóa, Thể thao và Du lịch, thực hiện chức năng tham mưu, giúp Bộ trưởng quản lý
Từ điển tuyển chọn những từ vựng quan trọng nhất trong lĩnh vực cơ khí, điện máy và vật liệu công trình đáp ứng nhu cầu tra cứu và học tập. Thuận tiện Từ điển
**Bảng tra cứu dãy số nguyên trực tuyến** (_The On-Line Encyclopedia of Integer Sequences_), hay đơn giản là **Sloane's**, là cơ sở dữ liệu chuỗi số nguyên trực tuyến. Bảng được tạo ra và bảo
Quyển sách này cung cấp cho bạn 250 bài tập thiết thực, hữu ích để mở rộng vốn từ vựng một cách nhanh chóng và hiệu quả. Các bài tập được sắp xếp theo chủ
Quyển sách này cung cấp cho bạn 250 bài tập thiết thực, hữu ích để mở rộng vốn từ vựng một cách nhanh chóng và hiệu quả. Các bài tập được sắp xếp theo chủ
Cuốn sách Cẩm nang xử lý sự cố điện điện tử. Được biên soạn đáp ứng yêu cầu của mọi người liên quan đến lĩnh vực điện và điện tử. Sách tập trung vào các
Cuốn sách Cẩm nang xử lý sự cố điện điện tử. Được biên soạn đáp ứng yêu cầu của mọi người liên quan đến lĩnh vực điện và điện tử. Sách tập trung vào các
Sổ Tay Đàm Phán Bằng Tiếng Anh Kèm CD Đàm phán là nghệ thuật đòi hỏi tài ngoại giao khéo léo và sự khôn ngoan, nhất là trong lĩnh vực kinh doanh. Việc này càng
Cuốn từ điển Anh-Việt cơ khí và công trình gồm khoảng 40.000 thuật ngữ thuộc các lĩnh vực cơ khí, máy, công trình giao thông, vận tải, thuỷ lợi, xây dự Trong quá trình biên
Quạt Trần KDK N56YG - Đồng Cổ Tiki chịu trách nhiệm giao hàng, khách hàng vui lòng lắp đặt và sắp xếp theo nhu cầu của mình. Nếu quý khách có nhu cầu lắp đặt
Trong an ninh đối với các hệ thống máy tính, **điều khiển truy cập trên cơ sở vai trò** (_tiếng Anh: Role-Based Access Control - viết tắt là RBAC_) là một trong số các phương
- Cọ chuyên nghiệp của MAC được điêu khắc bằng tay, cán cọ bằng gỗ và khớp nối bằng đồng mạ niken. Lông cọ được làm từ sợi tổng hợp 100% kết hợp những cải
​Thay mặt Bộ Chính trị, đồng chí Trần Cẩm Tú, Thường trực Ban Bí thư Trung ương Đảng, đã ký Kết luận số 127-KL/TW ngày 28/2/2025 về triển khai nghiên cứu, đề xuất tiếp tục
**Đợt sắp xếp, sáp nhập đơn vị hành chính tại Việt Nam 2023–2030** đề cập đến cuộc sắp xếp, sáp nhập các đơn vị hành chính (ĐVHC) các cấp tại Việt Nam thực hiện trong
​Thực hiện chủ trương sắp xếp, tinh gọn tổ chức bộ máy của Trung ương, nhất là Kết luận số 127-KL/TW, ngày 28/02/2025 của Bộ Chính trị, Ban Bí thư, ngày 7/3/2025 Ban Thường vụ
right|thumb|Kí hiệu tập hợp **số thực** (ℝ) Trong toán học, một **số thực** là một giá trị của một đại lượng liên tục có thể biểu thị một khoảng cách dọc theo một đường thẳng
**Redis** (/ˈrɛdɪs/; từ viết tắt của **Remote Dictionary Server**) là một cơ sở dữ liệu phân tán trong bộ nhớ, được sử dụng như một cơ sở dữ liệu đệm lưu dữ liệu dạng cặp
[[Tập tin:2020 Summer Olympics medal map.svg|thumb|upright=1.5|Thành tích huy chương của mỗi đội trong Thế vận hội Mùa hè 2020.
**Chú thích:**
Quốc gia giành được ít nhất một huy chương vàng.
Quốc
Sau đây là một **Danh sách các thành phố Hoa Kỳ có đông người Mỹ gốc Việt**. Các thành phố bao gồm ít nhất 10.000 người Mỹ gốc Việt hay những nơi mà người Mỹ
**Bảng tổng sắp huy chương Thế vận hội Mùa đông 2018** là danh sách các Ủy ban Olympic quốc gia được xếp hạng theo số huy chương giành được trong Thế vận hội Mùa đông
Chiều 24-2, Ủy ban nhân dân tỉnh tổ chức hội nghị triển khai các Nghị quyết của Hội đồng nhân dân tỉnh về thành lập, hợp nhất, sáp nhập các cơ quan chuyên môn thuộc
thumb|[[Đấu trường La Mã, Alexandria, Ai Cập.]] **Khảo cổ học** (tiếng Hán ) hay còn gọi là **bác cổ** là ngành khoa học nghiên cứu hoạt động của con người trong quá khứ, thường bằng
**Cách bố trí động cơ** (tiếng Anh: _engine configuration_) mô tả nguyên tắc hoạt động và sắp xếp các bộ phận nhằm phân loại các loại động cơ đốt trong. Động cơ piston chuyển động
nhỏ|Tòa nhà hành chính của Sở giao dịch chứng khoán Thái Lan hiện nay **Sở giao dịch chứng khoán Thái Lan** (tiếng Thái: ตลาดหลักทรัพย์ แห่ง ประเทศไทย), hoặc **SET**, là sàn giao dịch chứng khoán lớn
**Bảng tổng sắp huy chương Thế vận hội Mùa hè 1980** là danh sách xếp hạng các Ủy ban Olympic quốc gia tham dự theo số huy chương giành được tại Thế vận hội Mùa
nhỏ| Bản đồ thế giới hiển thị thành tích huy chương của mỗi quốc gia tại [[Thế vận hội Mùa đông 2022.
**Chú thích:**
Các quốc gia giành được ít nhất một huy chương vàng.
NƯỚC HOA NAM JOHN VARVATOS EDT. 75ml.Phong cách: Nam tính, hấp dẫn, lịch lãm.Nhóm hương: Gỗ phương đôngHương đầu:quả chanh xanh, ngò thơm.Hương giữa:da thuộc, gỗ đàn hương, quả mận, quế, quả sung, tiêu, cây
EASY CLEAN - CÂU CHUYỆN VỀ CÂY TĂM NHỰA VIỆT NAMTỪ CÂY TĂM NHỰA DOCTOR'S BRUSHGiữa năm 2011, một người bạn đi Mỹ về cầm theo 1 hộp tăm nhựa Doctor Brush tặng cho bổn
khay đựng mỹ phẩm, khay đựng son và mỹ phẩm đa năng, 3 tầng, xoay 360 độThiết kế xoay 360 độ tiện dụng: khay đựng mỹ phẩm là sự kết hợp lý tưởng giữa bàn
khay đựng mỹ phẩm, khay đựng son và mỹ phẩm đa năng, 3 tầng, xoay 360 độThiết kế xoay 360 độ tiện dụng: khay đựng mỹ phẩm là sự kết hợp lý tưởng giữa bàn
khay đựng mỹ phẩm, khay đựng son và mỹ phẩm đa năng, 3 tầng, xoay 360 độThiết kế xoay 360 độ tiện dụng: khay đựng mỹ phẩm là sự kết hợp lý tưởng giữa bàn
Kệ để mỹ phẩm, kệ đựng đồ trang điểm đa năng, 3 tầng, xoay 360 độthiết kế 2 trong 1: kệ để đồ trang điểm là sự kết hợp lý tưởng giữa bàn xoay 360