logo

No Result
View All Result
logo
No Result
View All Result
Trang chủ độ phức tạp của thuật toán merge sort

ĐỘ PHỨC TẠP CỦA THUẬT TOÁN MERGE SORT

by Admin _ November 17, 2021

Chào ace, bài này chúng ta vẫn tò mò về một trong những thuật toán sắp xếp được thực hiện các vào lập trình sẵn cùng thực tế độc nhất vô nhị đó là Merge Sort, sau đây campusstudylab.vn đã ra mắt với share đưa ra tiết(có mang, áp dụng của chính nó, code ví dụ, điểm mạnh, điểm yếu…) về Merge Sort thông qua các phần sau.You watching: độ phức tạp của thuật toán thù merge sort

1.

Bạn đang xem: Độ phức tạp của thuật toán merge sort

Giới thiệu

Giống như QuickSort, Merge Sort là 1 thuật tân oán Chia với Chinch phục. Nó phân chia mảng đầu vào thành nhì nửa, điện thoại tư vấn bao gồm nó mang lại nhì nửa với tiếp đến hòa hợp độc nhất vô nhị nhị nửa sẽ sắp xếp. Hàm merge () được thực hiện nhằm hợp độc nhất vô nhị hai nửa. Hợp độc nhất (arr, l, m, r) là quá trình quan trọng đặc biệt giả định rằng arr và arr được bố trí với hợp độc nhất vô nhị nhị mảng bé sẽ thu xếp thành một. Xem bí quyết thực hiện C sau để biết thêm chi tiết.

MergeSort (arr , l, r)Nếu r> l 1. Tìm điểm giữa nhằm phân chia mảng thành nhì nửa: Ở thân m = (l + r) / 2 2. Hợp tốt nhất cuộc hotline Sắp xếp cho nửa đầu: call mergeSort(arr, l, m) 3. Hợp tốt nhất cuộc Call Sắp xếp mang lại nửa sau: Điện thoại tư vấn mergeSort(arr, m + 1, r) 4. Hợp độc nhất vô nhị nhì nửa được thu xếp làm việc bước 2 với 3: call merge(arr, l, m, r)Sơ vật dụng dưới đây tự wikipedia cho biết thêm các bước sắp xếp vừa lòng tuyệt nhất hoàn hảo cho 1 mảng ví dụ 38, 27, 43, 3, 9, 82, 10. Nếu chúng ta để mắt tới kỹ hơn sơ đồ, chúng ta có thể thấy rằng mảng được phân chia đệ quy làm nhì nửa cho đến Khi form size đổi mới 1. Lúc form size đổi mới 1, các quá trình hợp độc nhất vô nhị đang chuyển động cùng bước đầu hợp nhất các mảng trở về cho tới lúc mảng hoàn hảo sẽ thích hợp nhất.See more: Crúc Đại Bi Có Ý Nghĩa Gì - Ý Nghĩa Của Từng Câu Trong Kinch Crúc Đại Bi

Bức Ảnh minh hoạ


*

2. Code ví dụ bên trên các ngôn ngữ

C++

// C++ program for Merge Sort #include using namespace std; // Merges two subarrays of arr. // First subarray is arr // Second subarray is arr void merge(int arr, int l, int m, int r) { int n1 = m - l + 1; int n2 = r - m; // Create temp arrays int L, R; // Copy data lớn temp arrays L and R for(int i = 0; i C

/* C program for Merge Sort */#include #include // Merges two subarrays of arr. // First subarray is arr // Second subarray is arr void merge(int arr, int l, int m, int r) { int i, j, k; int n1 = m - l + 1; int n2 = r - m; /* create temp arrays */ int L, R; /* Copy data to temp arrays L & R */ for (i = 0; i Java

/* Java program for Merge Sort */class MergeSort { // Merges two subarrays of arr. // First subarray is arr // Second subarray is arr void merge(int arr, int l, int m, int r) { // Find sizes of two subarrays to be merged int n1 = m - l + 1; int n2 = r - m; /* Create temp arrays */ int L = new int; int R = new int; /*Copy data lớn temp arrays*/ for (int i = 0; i Python3

# Pynhỏ bé program for implementation of MergeSort def mergeSort(arr): if len(arr) >1: mid = len(arr)//2 # Finding the mid of the array L = arr # Dividing the array elements R = arr # into lớn 2 halves mergeSort(L) # Sorting the first half mergeSort(R) # Sorting the second half i = j = k = 0 # Copy data khổng lồ temp arrays L & R while i Kết quả

Given array is12 11 13 5 6 7Sorted array is5 6 7 11 12 13

3.

Xem thêm: #4 Cách Đắp Mặt Nạ Lòng Trắng Trứng Mấy Lần 1 Tuần ? Làm Mặt Nạ Trứng Gà

Độ phức tạp

Độ phức tạp về thời gian: Sắp xếp những mảng bên trên các vật dụng khác nhau. Merge Sort là một thuật toán thù đệ quy cùng độ phức tạp thời hạn có thể được bộc lộ như sau.See more: Ngày Thế Giới Phòng Chống Ung Tlỗi Và Ngày Thế Giới Phòng Chống Ung Thư, 04

T (n) = 2T (n / 2) + θ (n)Sự lặp lại trên hoàn toàn có thể được xử lý bằng cách sử dụng phương thức tree lặp lại hoặc phương pháp Master. Nó phía bên trong trường thích hợp II của Phương thơm pháp Master với nghiệm của sự tái diễn là θ (nLogn). Độ phức tạp thời gian của Sắp xếp thích hợp nhất(Merge Sort) là θ (nLogn) vào cả 3 trường hợp (xấu tốt nhất, vừa đủ và xuất sắc nhất) do bố trí phù hợp tốt nhất luôn luôn phân chia mảng thành hai nửa với mất thời gian đường tính để hợp độc nhất nhị nửa.

Không gian phụ trợ: O (n)

Mô hình thuật toán: Chia và Chinh phục

Ổn định: Có

4. Ứng dụng

Merge Sort khôn cùng bổ ích nhằm bố trí các danh sách được links trong thời hạn O (nLogn). Trong ngôi trường hợp list được link, trường vừa lòng này không giống nhau chủ yếu bởi sự khác hoàn toàn trong phân bổ bộ nhớ lưu trữ của mảng và list được liên kết. Không giống như mảng, những nút ít danh sách link có thể ko gần cạnh vào bộ nhớ lưu trữ. Không y như một mảng, vào danh sách links, chúng ta có thể cnhát những mục vào giữa trong O (1) không khí quá với O (1) thời hạn. Do kia vận động hợp tuyệt nhất của bố trí đúng theo độc nhất có thể được triển khai nhưng mà không có thêm dung tích cho danh sách được links. Trong mảng, chúng ta có thể thực hiện truy cập thốt nhiên Lúc những phần tử nằm kề nhau vào bộ lưu trữ. Giả sử bọn họ bao gồm một mảng A số nguyên ổn (4 byte) cùng đặt tương tác của A là x thì nhằm truy cập A , bạn cũng có thể truy cập thẳng vào bộ nhớ trên (x + i * 4). Không y như mảng, bọn họ cấp thiết thực hiện truy vấn thiên nhiên vào danh sách links. Sắp xếp nhanh khô đòi hỏi không ít một số loại truy cập. Trong list link để truy vấn chỉ mục đồ vật i, chúng ta đề nghị dịch chuyển từng nút ít từ trên đầu mang đến nút ít lắp thêm i do họ không có kăn năn bộ lưu trữ liên tục. Do kia, chi phí tăng so với nhanh chóng. Sắp xếp vừa lòng độc nhất vô nhị truy cập tài liệu một cách tuần từ cùng nhu yếu truy cập hốt nhiên thấp.Vấn đề hòn đảo ngược số lượngĐược áp dụng trong bố trí bên ngoài

Nguồn với Tài liệu giờ đồng hồ anh tđê mê khảo:

Tài liệu từ campusstudylab.vn:

Nếu bạn thấy giỏi với có ích, bạn cũng có thể tmê mẩn gia những kênh sau của campusstudylab.vn để thừa nhận được nhiều hơn nữa:

Share Tweet Linkedin Pinterest
Previous Post

Giá cước taxi tải thành hưng

Next Post

Lịch sử sân_bay_bạch_mai

CÙNG CHUYÊN MỤC

những câu thần chú phép thuật đơn giản

Những câu thần chú phép thuật đơn giản

24/08/2021
số điện thoại trung quốc có bao nhiêu số

Số điện thoại trung quốc có bao nhiêu số

22/08/2021
chỉ mong một đời an yên

Chỉ mong một đời an yên

24/08/2021
cách pha màu xanh da trời nhạt

Cách pha màu xanh da trời nhạt

20/08/2021
mơ thấy trứng gà đánh con gì

Mơ thấy trứng gà đánh con gì

08/11/2022
mơ thấy mèo đánh con gì

Mơ thấy mèo đánh con gì

08/11/2022
Cách chơi cá cược tại Bong88 trên điện thoại di động

Cách chơi cá cược tại Bong88 trên điện thoại di động

29/08/2022
Mua căn hộ S1.08 Vinhomes Ocean Park hướng Đông Nam| Vị trí - Ưu điểm

Mua căn hộ S1.08 Vinhomes Ocean Park hướng Đông Nam| Vị trí - Ưu điểm

02/08/2022

Newsletter

The most important automotive news and events of the day

We won't spam you. Pinky swear.

RIKVIP - Game bài tài phiệt Mỹ

Chuyên Mục

    News Post

    • Link tải dynomite deluxe full pc

    About

    Chúng tôi tạo ra trang web nhằm mục đích mang lại kiến thức bổ ích cho cộng đồng, các bài viết được sưu tầm từ nhiều nguồn trên internet giúp mang lại kiến thức khách quan dành cho bạn

    ©2023 campusstudylab.vn - Website WordPress vì mục đích cộng đồng

    No Result
    View All Result
    • Trang chủ
    • Chuyên mục
    • Lưu trữ
    • Liên hệ

    © 2023 campusstudylab.vn - Website WordPress vì mục đích cộng đồng.