Algoritma gabung
Artikel ini membutuhkan lebih banyak pranala ke artikel lain untuk meningkatkan kualitasnya. (Desember 2022) |
Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini. Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan. (April 2012) |
Artikel ini perlu dirapikan agar memenuhi standar Wikipedia. |
Bagas Dea Rmx Bagas Dea Rmx dengan nama asli Bagas fadhilatul asal Pemalang Jawa tengah. Dengan bakat yang dia miliki Bagas pernah menjadi remixer hebat yang pernah viral pada tahun 2020. YouTube Bagas Dea Rmx, Instagram Bagas Dea Rmx
Pseudocode
Suatu implementasi pseudocode sederhana yang tak berulang dari penggabungan dengan dua daftar yang mungkin tertulis sebagai berikut:
function merge(a, b)
var list result
var int i, j := 0
while (i < length(a)) and (j < length(b))
if a[i] < b[j]
add a[i] to result
i := i + 1
else
add b[j] to result
j := j + 1
while i < length(a)
add a[i] to result
i := i + 1
while j < length(b)
add b[j] to result
j := j + 1
return result
Implementasi algoritme gabung menggunakan MATLAB
M-File
function p=merge(a,b)
% MERGE Penggabungan
% MERGE(A,B) menggabungkan dua list
if nargin<2
error('Kekurangan argumen input');
end % pengecekan error
a=a(:); % meyakinkan bahwa input merupakan vektor baris
b=b(:);
na=length(a); % menemukan panjang a dan b
nb=length(b);
df=a+b; % hasil dari daftar
ndf=length(df);
p=[zeros(1,nb-na) a]+[zeros(1,na-nb) b];
Command window
>> a=[1 2 3]
a =
1 2 3
>> b=[2 3 4]
b =
2 3 4
>> merge(a,b)
ans =
3
5
7
>> p=[3 5 7]
p =
3 5 7
>> for i=1:3
x=a(i)+p(i)
end
x =
4
x =
7
x =
10
>> for j=1:3
y=b(j)+p(j)
end
y =
5
y =
8
y =
11
Analisis
Pada umumnya algoritme gabung berjalan dalam waktu proposional untuk penjumlahan pada panjangnya daftar; Algoritme gabung beroperasi pada bilangan besar dalam daftar yang akan segera mengalikan penjumlahan panjangnya daftar pada saat itu untuk keluaran gambar pointers points yang mana menunjuk pada item yang paling rendah, yang dapat terpengaruhi dengan suatu heap(tumpukan) yang didasarkan prioritas antrean dalam O(lg n) waktu, untuk O(m lg n) waktu (di mana n adalah bilangan pada daftar yang digabungkan, m adalah penjumlahan panjangnya daftar, dan lg adalah log basis 2). Ketika menggabungkan panjang m dua daftar, terdapat suatu perbandingan lompatan yang lebih rendah 2m-1 yang ada dalam kasus terburuk.
Keluaran data item Merge klasik (satu yang digunakan dalam urut gabung) dengan kunci yang paling rendah pada langkah masing-masing, memberikan beberapa daftar yang diurutkan, hasil daftar yang diurutkan berisi semua unsur-unsur di dalam daftar input manapun, dan hal itu dilakukan agar waktunya proporsioal untuk input penjumlahan panjangnya daftar.
Penggunaan
Penggabungan dapat juga digunakan untuk berbagai hal:
- Diberikan satu set saldo-saldo rekening yang beredar dan satu set transaksi, kedua-duanya disortir oleh nomor rekening, menghasilkan satu saldo-saldo rekening baru setelah transaksi diterapkan; ini selalu diperlukan untuk mempercepat ”transaksi baru” penunjuk ketika keduanya mempunyai kunci yang sama, dan menambahkan semua angka-angka pada tape yang manapun dengan nomor rekening yang sama untuk menghasilkan saldo yang baru.
- Menghasilkan suatu daftar catatan yang disortir dengan menyajikan kunci disemua daftar ini yang memerlukan outputting kapan saja suatu catatan yang semua kunci p0..n adalah sama.
- Dengan cara yang sama untuk menemukan bilangan besar pada satu tape yang lebih kecil dibandingkan masing-masing nomor pada satu tape yang lainnya (contoh untuk mengeluarkan gambar pengelompokan pajak masing-masing orang di dalamnya).
- Dengan cara yang sama untuk menghitung perbedaan set semua arsip dalam satu daftar dengan arsip yang tidak sesuaian dengan yang lainnya.
- Operasi penyisipan dalam mesin pencarian untuk menghasilkan suatu indeks balikkan.
- Menggabungkan permainan-permainan adalah suatu peranan pusat dalam fungsi pemrograman teknik Dijkstra untuk menghasilkan bilangan-bilangan tetap.
Referensi
- Donald Knuth. The Art of Computer Programming, Volume 3: Sorting and Searching, Third Edition. Addison-Wesley, 1997.ISBN 0-201-89685-0. Pages 158–160 of section 5.2.4: Sorting by Merging. Section 5.3.2: Minimum-Comparison Merging, pp. 197–207.
- Atrinawati, Lovinta Happy. Analisis Kompleksitas Algoritme Untuk Berbagai Macam Metode Pencarian Nilai (Searching) dan Pengurutan Nilai (Sorting) pada Tabel. Program Studi Teknik Informatika, Institut Teknologi Bandung.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.