Hướng dẫn what are types of sorting in python? - các loại sắp xếp trong python là gì?

Sắp xếp được định nghĩa là một sự sắp xếp của dữ liệu theo một thứ tự nhất định. Các kỹ thuật sắp xếp được sử dụng để sắp xếp dữ liệu (chủ yếu là số) theo thứ tự tăng dần hoặc giảm dần. Nó là một phương pháp được sử dụng để biểu diễn dữ liệu theo định dạng dễ hiểu hơn. Đó là một lĩnh vực quan trọng của khoa học máy tính. Việc sắp xếp một lượng lớn dữ liệu có thể mất một lượng đáng kể tài nguyên điện toán nếu các phương pháp chúng tôi sử dụng để sắp xếp dữ liệu không hiệu quả. Hiệu quả của thuật toán tỷ lệ thuận với số lượng các mục mà nó đang đi qua. Đối với một lượng nhỏ dữ liệu, một phương pháp phân loại phức tạp có thể gặp nhiều rắc rối hơn giá trị của nó. Mặt khác, đối với lượng dữ liệu lớn hơn, chúng tôi muốn tăng hiệu quả và tốc độ càng nhiều càng tốt. Bây giờ chúng tôi sẽ thảo luận về một số kỹ thuật sắp xếp và so sánh chúng đối với sự phức tạp về thời gian của chúng.

Hướng dẫn what are types of sorting in python? - các loại sắp xếp trong python là gì?

Một số ví dụ thực tế về phân loại là:

  • Thư mục điện thoại: & nbsp; Đây là một cuốn sách chứa số điện thoại và địa chỉ của những người theo thứ tự bảng chữ cái.  It is a book that contains telephone numbers and addresses of people in alphabetical order.
  • Từ điển: Đó là một bộ sưu tập các từ khổng lồ cùng với ý nghĩa của chúng theo thứ tự bảng chữ cái. It is a huge collection of words along with their meanings in alphabetical order.
  • Danh sách liên hệ: Đây là danh sách các số người liên lạc của người theo thứ tự bảng chữ cái trên điện thoại di động. It is a list of contact numbers of people in alphabetical order on a mobile phone.

Trước khi thảo luận về các thuật toán khác nhau được sử dụng để sắp xếp dữ liệu được cung cấp cho chúng tôi, chúng tôi nên nghĩ về các hoạt động có thể được sử dụng để phân tích một quy trình sắp xếp. Đầu tiên, chúng ta cần so sánh các giá trị để xem cái nào nhỏ hơn và giá trị nào lớn hơn để chúng có thể được sắp xếp theo thứ tự, sẽ cần phải có một cách có tổ chức để so sánh các giá trị để thấy rằng nếu chúng theo thứ tự. & nbsp;

Các loại đơn đặt hàng khác nhau là:

  • Thứ tự tăng: Một tập hợp các giá trị được cho là ngày càng tăng khi mọi yếu tố liên tiếp lớn hơn yếu tố trước đó. Ví dụ: 1, 2, 3, 4, 5. Ở đây, trình tự đã cho là theo thứ tự ngày càng tăng.A set of values are said to be increasing order when every successive element is greater than its previous element. For example: 1, 2, 3, 4, 5. Here, the given sequence is in increasing order.
  • Thứ tự giảm: Một tập hợp các giá trị được cho là theo thứ tự giảm khi phần tử liên tiếp luôn thấp hơn giá trị trước. Ví dụ: 5, 4, 3, 2, 1. Ở đây trình tự đã cho theo thứ tự giảm.A set of values are said to be in decreasing order when the successive element is always less than the previous one. For Example: 5, 4, 3, 2, 1. Here the given sequence is in decreasing order.
  • Thứ tự không tăng: Một tập hợp các giá trị được cho là theo thứ tự không tăng nếu mọi phần tử ITH có trong chuỗi lớn hơn hoặc bằng phần tử (i-1) của nó. Thứ tự này xảy ra bất cứ khi nào có những con số đang được lặp lại. Ví dụ: 1, 2, 2, 3, 4, 5. Ở đây 2 lặp lại hai lần. A set of values are said to be in non-increasing order if every ith element present in the sequence is greater than or equal to its (i-1)th element. This order occurs whenever there are numbers that are being repeated. For Example: 1, 2, 2, 3, 4, 5. Here 2 repeated two times.
  • Thứ tự không giải phóng: Một tập hợp các giá trị được cho là theo thứ tự không giải phóng nếu mọi yếu tố ith có trong chuỗi nhỏ hơn hoặc bằng phần tử (i-1) của nó. Thứ tự này xảy ra bất cứ khi nào có những con số đang được lặp lại. Ví dụ: 5, 4, 3, 2, 2, 1. Ở đây 2 lặp lại hai lần. A set of values are said to be in non-decreasing order if every ith element present in the sequence is less than or equal to its (i-1)th element. This order occurs whenever there are numbers that are being repeated. For Example: 5, 4, 3, 2, 2, 1. Here 2 repeated two times.

Sắp xếp kỹ thuật

Các triển khai khác nhau của các kỹ thuật sắp xếp trong Python là:

  • Sắp xếp bong bóng
  • Lựa chọn sắp xếp
  • Sắp xếp chèn

Sắp xếp bong bóng

Lựa chọn sắp xếp

Example 

Sắp xếp chèn

Sắp xếp bong bóng là một thuật toán sắp xếp đơn giản. Thuật toán sắp xếp này liên tục so sánh hai yếu tố liền kề và hoán đổi chúng nếu chúng không đúng thứ tự. Nó còn được gọi là loại chìm. Nó có độ phức tạp về thời gian của O (N2) trong các trường hợp trung bình và trường hợp xấu nhất và O (N) trong trường hợp tốt nhất. Sắp xếp bong bóng có thể được hình dung như một hàng đợi nơi mọi người tự sắp xếp bằng cách hoán đổi với nhau để tất cả họ có thể đứng theo thứ tự tăng dần của chiều cao của họ. Hay nói cách khác, chúng tôi so sánh hai yếu tố liền kề và xem đơn đặt hàng của họ có sai không, nếu thứ tự sai, chúng tôi trao đổi chúng. (i.e Arr [i]> mảng [j] cho 1

Ở đây chúng tôi sắp xếp trình tự sau bằng cách sử dụng loại bong bóng

Trình tự: 2, 23, 10, 12, 23, 10, 1) –> (2, 23, 10, 1), Here the first 2 elements are compared and remain the same because they are already in ascending order.

Lặp lại đầu tiên23, 10, 1) –> (2, 10, 23, 1), Here 2nd and 3rd elements are compared and swapped(10 is less than 23) according to ascending order.

(2, 23, 10, 1) -> (2, 23, 10, 1), ở đây 2 yếu tố đầu tiên được so sánh và vẫn giữ nguyên vì chúng đã theo thứ tự tăng dần.23, 1) –> (2, 10, 1, 23), Here 3rd and 4th elements are compared and swapped(1 is less than 23) according to ascending order

.

(2, 10, 23, 1) -> (2, 10, 1, 23), ở đây các yếu tố thứ 3 và thứ 4 được so sánh và hoán đổi (1 là nhỏ hơn 23) theo thứ tự tăng dần

Vào cuối lần lặp đầu tiên, phần tử lớn nhất là ở vị trí ngoài cùng bên phải được sắp xếp chính xác.2, 10, 1, 23) –> (2, 10, 1, 23), Here again, the first 2 elements are compared and remain the same because they are already in ascending order.

Lặp lại thứ hai10, 1, 23) –> (2, 1, 10, 23), Here 2nd and 3rd elements are compared and swapped(1 is less than 10) in ascending order.

(2, 10, 1, 23) -> (2, 10, 1, 23), ở đây một lần nữa, 2 yếu tố đầu tiên được so sánh và vẫn giữ nguyên vì chúng đã theo thứ tự tăng dần.

.

Vào cuối lần lặp thứ hai, phần tử lớn thứ hai là ở vị trí liền kề với phần tử lớn nhất.2, 1, 10, 23) –> (1, 2, 10, 23), Here the first 2 elements are compared and swap according to ascending order.

Các yếu tố còn lại đã được sắp xếp trong lần lặp thứ nhất và thứ hai. Sau ba lần lặp, mảng đã cho được sắp xếp theo thứ tự tăng dần. Vì vậy, kết quả cuối cùng là 1, 2, 10, 23.

Thực hiện Sắp xếp Bubble:

Python3

def bubbleSort(arr):

    n = len(arr)

    for i bubbleSort(arr):0 bubbleSort(arr):1bubbleSort(arr):2

bubbleSort(arr):3for bubbleSort(arr):5bubbleSort(arr):0 bubbleSort(arr):1bubbleSort(arr):8__

    6    7     8    9     4n 1

n 2n 3    9     4n 6=

=2= =4=5=6__

len3

len4bubbleSort(arr):8len6len7

for i bubbleSort(arr):0 bubbleSort(arr):1bubbleSort(arr):8len(arr)4

    len4bubbleSort(arr):8(arr)8 (arr)9     0

Output:

Mảng được sắp xếp là:

1

2

10

23

Lựa chọn sắp xếp

Kỹ thuật sắp xếp này nhiều lần tìm thấy yếu tố tối thiểu và sắp xếp nó theo thứ tự. Sắp xếp bong bóng không chiếm bất kỳ không gian bộ nhớ bổ sung. Trong quá trình thực hiện thuật toán này, hai Subarrays được duy trì, Subarray đã được sắp xếp và Subarray còn lại chưa được phân loại. Trong quá trình thực hiện sắp xếp lựa chọn cho mỗi lần lặp, phần tử tối thiểu của subarray chưa được sắp xếp được sắp xếp trong SubArray được sắp xếp. Sắp xếp lựa chọn là một thuật toán hiệu quả hơn so với sắp xếp bong bóng. Sắp xếp có độ phức tạp thời gian của O (N2) ở mức trung bình, tồi tệ nhất và trong những trường hợp tốt nhất.

Example 

Ở đây chúng tôi sắp xếp chuỗi sau bằng cách sử dụng loại lựa chọn

Trình tự: 7, 2, 1, 6

., 1, 6) –> (1, 7, 2, 6), In the first traverse it finds the minimum element(i.e., 1) and it is placed at 1st position.

.2, 6) –> (1, 2, 7, 6), In the second traverse it finds the 2nd minimum element(i.e., 2) and it is placed at 2nd position.

., 7, 6) –> (1, 2, 6, 7), In the third traverse it finds the next minimum element(i.e., 6) and it is placed at 3rd position.

Sau các lần lặp lại trên, mảng cuối cùng được sắp xếp theo thứ tự, tức là, 1, 2, 6, 7.

Thực hiện loại lựa chọn

Python3

def     2

    for     5bubbleSort(arr):0 bubbleSort(arr):1    8

bubbleSort(arr):3for0= for2

bubbleSort(arr):3for i bubbleSort(arr):0 bubbleSort(arr):1for8__

    6    7 i 4

n 2for0= i 8

bubbleSort(arr):3bubbleSort(arr):00= bubbleSort(arr):02

Is

bubbleSort(arr):14= lenbubbleSort(arr):17

bubbleSort(arr):18

len4bubbleSort(arr):8bubbleSort(arr):21len7

len4bubbleSort(arr):17

Output:

Mảng được sắp xếp theo thứ tự tăng dần là:

[1, 2, 6, 7]

Sắp xếp chèn

Thuật toán sắp xếp này duy trì một mảng con luôn được sắp xếp. Các giá trị từ phần chưa được sắp xếp của mảng được đặt ở vị trí chính xác trong phần được sắp xếp. Nó hiệu quả hơn trong thực tế so với các thuật toán khác như sắp xếp lựa chọn hoặc sắp xếp bong bóng. Sắp xếp chèn có độ phức tạp thời gian của O (N2) trong trường hợp trung bình và xấu nhất và O (n) trong trường hợp tốt nhất.

Example 

Ở đây chúng tôi sắp xếp trình tự sau bằng cách sử dụng sắp xếp chèn

Trình tự: 7, 2, 1, 6

.7, 2, 1, 6) –> (2, 7, 1, 6), In the first iteration, the first 2 elements are compared, here 2 is less than 7 so insert 2 before 7.

.7, 1, 6) –> (2, 1, 7, 6), In the second iteration the 2nd and 3rd elements are compared, here 1 is less than 7 so insert 1 before 7.

.2, 1, 7, 6) –> (1, 2, 7, 6), After the second iteration (1, 7) elements are not in ascending order so first these two elements are arranged. So, insert 1 before 2. 

Sau các lần lặp lại trên, mảng cuối cùng được sắp xếp theo thứ tự, tức là, 1, 2, 6, 7.7, 6) –> (1, 2, 6, 7), During this iteration the last 2 elements are compared and swapped after all the previous elements are swapped. 

Thực hiện loại lựa chọn

Python3

def     2

    for     5bubbleSort(arr):0 bubbleSort(arr):1    8

bubbleSort(arr):3for0= for2

bubbleSort(arr):3for i bubbleSort(arr):0 bubbleSort(arr):1for8__

    6    7 i 4

n 2for0= i 8

bubbleSort(arr):3bubbleSort(arr):00= bubbleSort(arr):02

Is

bubbleSort(arr):14= lenbubbleSort(arr):17

len4bubbleSort(arr):8bubbleSort(arr):21len7

len4bubbleSort(arr):8bubbleSort(arr):89bubbleSort(arr):90

len4bubbleSort(arr):8bubbleSort(arr):93bubbleSort(arr):94

Output:

Danh sách chưa được phân loại là: [7, 2, 1, 6]

Danh sách mới được sắp xếp là: [1, 2, 6, 7]


Có bao nhiêu loại phân loại trong Python?

6 Sắp xếp các loại để giải quyết vấn đề với các thuật toán và cấu trúc dữ liệu bằng Python. Sorting Types for Problem Solving with Algorithms and Data Structures using Python.

Sắp xếp trong Python và các loại của nó là gì?

Sắp xếp () trong Python hàm sắp xếp có thể được sử dụng để sắp xếp danh sách theo cả thứ tự tăng dần và giảm dần.Để sắp xếp danh sách theo thứ tự tăng dần.Độ phức tạp thời gian của nó là O (nlogn).Hàm này có thể được sử dụng để sắp xếp danh sách các số nguyên, số điểm nổi, chuỗi và các số khác.The sort function can be used to sort the list in both ascending and descending order. To sort the list in ascending order. Its time complexity is O(NlogN). This function can be used to sort list of integers, floating point number, string and others.

Hai loại phân loại trong Python là gì?

Các triển khai khác nhau của các kỹ thuật sắp xếp trong Python là: Sắp xếp bong bóng.Lựa chọn sắp xếp.Bubble Sort. Selection Sort.

Các loại phân loại là gì?

Ba loại phân loại là gì?Ba loại sắp xếp cơ bản là sắp xếp bong bóng, sắp xếp chèn và sắp xếp lựa chọn.bubble sort, insertion sort and selection sort.