Terkadang kami perlu menggabungkan dua daftar yang diurutkan. Jenis penyortiran ini dikenal sebagai penyortiran gabungan. Ada berbagai cara untuk menggabungkan dua daftar yang diurutkan dengan python. Dalam seluruh tutorial ini, Anda akan mengetahui cara menggabungkan dua daftar yang diurutkan dengan python dengan berbagai contoh Show
Metode untuk Menggabungkan dua daftar yang diurutkan dengan PythonDi bagian ini, Anda akan mengetahui semua metode yang dapat Anda gunakan untuk menggabungkan dua daftar yang sudah diurutkan dengan python. Mari kenali masing-masing Metode 1. Menggunakan fungsi sortir()Anda dapat menggunakan fungsi python bawaan diurutkan () untuk menyortir dua daftar gabungan. Di sini Anda harus terlebih dahulu menambahkan daftar dan kemudian meneruskan daftar gabungan sebagai argumen dari fungsi sortir(). Jalankan baris kode di bawah ini dan lihat hasilnya Diberikan dua larik terurut A[] dan B[] dengan ukuran N dan M. Tugasnya adalah menggabungkan kedua array menjadi satu array dalam urutan yang tidak menurun Contoh Memasukkan. A[] =[3, 9, 10, 18, 23], B[] = [5, 12, 15, 20, 21, 25] Bingung tentang pekerjaan Anda selanjutnya?Dalam 3 langkah sederhana, Anda dapat menemukan peta jalan karier yang dipersonalisasi dalam pengembangan Perangkat Lunak secara GRATIS
Memasukkan. A[] = [1, 5], B[] = [4, 6, 7] Sisipkan dan Sortir PendekatanPendekatan yang paling naif adalah menggabungkan elemen dari satu larik ke larik lain dan mengurutkan larik yang dihasilkan Kode C++void merge(int nums1[], int m, int nums2[], int n) { for (int i = 0; i < n; i++) { nums1[i + m] = nums2[i]; } sort(nums1, nums1 + n + m); } Kode Jawapublic void merge(int[] nums1, int m, int[] nums2, int n) { for (int i = 0; i < n; i++) { nums1[i + m] = nums2[i]; } Arrays.sort(nums1); }_ Kode Pitondef merge(nums1, m, nums2, n) for i in range(n): nums1[i + m] = nums2[i] nums1.sort() Kompleksitas Waktu. O((N + M)log(N+M)), di mana N dan M adalah ukuran array A[] dan B[] Gabungkan Metode SortirIde kunci untuk dicatat di sini adalah bahwa kedua array diurutkan. Oleh karena itu, dengan memanfaatkan fakta ini, kita dapat menerapkan metode yang mirip dengan teknik pengurutan gabungan Algoritma
Implementasi C++void mergeArrays(int arr1[], int arr2[], int n1, int n2, int arr3[]) { int i = 0, j = 0, k = 0; while (i < n1 && j < n2) { if (arr1[i] < arr2[j]) arr3[k++] = arr1[i++]; else arr3[k++] = arr2[j++]; } while (i < n1) arr3[k++] = arr1[i++]; while (j < n2) arr3[k++] = arr2[j++]; } Implementasi Jawapublic static void mergeArrays(int[] arr1, int[] arr2, int n1, int n2, int[] arr3) { int i = 0, j = 0, k = 0; while (i < n1 && j < n2) { if (arr1[i] < arr2[j]) arr3[k++] = arr1[i++]; else arr3[k++] = arr2[j++]; } while (i < n1) arr3[k++] = arr1[i++]; while (j < n2) arr3[k++] = arr2[j++]; }_ Implementasi Pythondef mergeArrays(arr1, arr2, n1, n2): arr3 = [None] * (n1 + n2) i = 0 j = 0 k = 0 while i < n1 and j < n2: if arr1[i] < arr2[j]: arr3[k] = arr1[i] k = k + 1 i = i + 1 else: arr3[k] = arr2[j] k = k + 1 j = j + 1 while i < n1: arr3[k] = arr1[i] k = k + 1 i = i + 1 while j < n2: arr3[k] = arr2[j] k = k + 1 j = j + 1 Kompleksitas Waktu. O(N + M), di mana N dan M adalah ukuran larik A[] dan B[] FAQBagaimana kompleksitas ruang O(1) untuk pendekatan dua petunjuk? Bagaimana pendekatan dua pointer berbeda dari pendekatan sortir gabungan? Sedangkan, pendekatan dua titik, mulai mengulang dari belakang dan terus menggabungkan elemen pada tempatnya Bagaimana cara menggabungkan dua array dalam urutan terurut dengan Python?Menggabungkan Metode Sortir
. Buat array tambahan ukuran N + M. Letakkan dua pointer i dan j dan inisialisasi ke 0. Pointer i menunjuk ke array pertama, sedangkan pointer j menunjuk ke array kedua. Create an auxiliary array of size N + M and insert the merge element in this array. Create an auxiliary array of size N + M. Put two pointers i and j and initialise them to 0. Pointer i points to the first array, whereas pointer j points to the second array.
Bagaimana cara menggabungkan 2 array dengan Python?Anda dapat menggunakan numpy. fungsi concatenate() untuk menyatukan, menggabungkan, atau menggabungkan urutan dua atau beberapa array menjadi satu array NumPy. Penggabungan mengacu pada menempatkan isi dari dua atau lebih array dalam satu array.
Bagaimana Anda menggabungkan dua array yang diurutkan menjadi satu array yang diurutkan?cetak(arr2[x] + " "); . Setelah while loop, jika ada elemen yang tersisa di arr1 dan arr2, maka elemen tersebut akan ditambahkan ke array gabungan. using a while loop. After the while loop, if any elements are left in arr1 or arr2, then they are added to the merged array.
Bagaimana Anda menggabungkan dua algoritma array yang diurutkan?Algoritma . Mulai program Masukkan panjang kedua array Masukkan elemen array dari pengguna Salin elemen dari larik pertama ke larik gabungan saat menginisialisasinya Salin elemen dari larik kedua ke larik gabungan sambil menginisialisasi larik kedua Urutkan array yang digabungkan sekarang |