Algoritma gabung


Algoritme gabung adalah algoritme yang dijalankan sebagai akibat dari terlalu banyaknya daftar yang diurutkan, dengan menghasilkan lebih banyak daftar yang diurutkan sebagai output. Algoritme gabung ini disesuaikan untuk mesin drive tape. Penggunaannya dalam akses memori acak besar yang terkait telah menurun, karena banyak aplikasi algoritme gabung yang mempunyai alternatif lebih cepat ketika kamu memiliki akses memori acak yang menjaga semua data mu. Hal ini disebabkan algoritme ini membutuhkan setidaknya ruang atau memori dua kali lebih besar karena dilakukan secara rekursif dan memakai dua tabel.

Algoritme urut gabung membagi tabel menjadi dua tabel yang sama besar. Masing-masing tabel diurutkan secara rekursif, dan kemudian digabungkan kembali untuk membentuk tabel yang terurut. Implementasi dasar dari algoritme urut gabung memakai tiga buah tabel, dua untuk menyimpan elemen dari tabel yang telah di bagi dua dan satu untuk menyimpan elemen yang telah terurut. Namun algoritme ini dapat juga dilakukan langsung pada dua tabel, sehingga menghemat ruang atau memori yang dibutuhkan.

Algoritme gabung umumnya memiliki satu set pointer p0..n yang menunjuk suatu posisi di dalam satu set daftar L0..n . Pada awalnya mereka menunjuk item yang pertama pada setiap daftar. Algoritmenya sebagai berikut:

Selama p0..n masih menunjuk data yang di dalam sebagai pengganti pada akhirnya:

  1. Melakukan sesuatu dengan data item yang menunjuk daftar mereka masing-masing.
  2. Menemukan pointers points untuk item dengan kunci yang paling rendah; membantu salah satu pointer untuk item yang berikutnya dalam daftar.

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 antrian 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.

Read other articles:

Koordinat: 51°29′56″N 0°05′24″W / 51.4988°N 0.0901°W / 51.4988; -0.0901 Southwark Borough Katedral Southwark Southwark Letak Southwark di Britania Raya Ref. grid OS TQ325795 Borough London Southwark County seremonial Greater London Wilayah London Negara konstituen England Negara berdaulat Britania Raya Kota pos LONDON Distrik kode pos SE1 Kode telepon 020 Polisi   Pemadam kebakaran   Ambulans   Parlem…

Saya Duluan DongSutradaraArizalProduserRam SorayaDitulis olehAgusti TanjungPemeranWarkop DKI (Dono, Kasino, Indro)Diah PermatasariGitty SrinitaHIM DamsyikIke RachmawatiRara AzizSimon PSPerusahaanproduksiSoraya Intercine FilmsDistributorSoraya Intercine FilmsTanggal rilis22 Desember 1994Durasi83-menit.NegaraIndonesiaBahasaBahasa IndonesiaPrekuelBebas Aturan MainSekuelPencet Sana Pencet Sini Saya Duluan Dong adalah film drama komedi Indonesia yang dirilis dan diproduksi pada tanggal 22 Desember 19…

Presiden Republik IndonesiaLambang Negara IndonesiaLambang PresidenPetahanaJoko Widodosejak 20 Oktober 2014Pemerintah IndonesiaGelar Bapak Presiden (informal) Yang Terhormat (formal) Paduka Yang Mulia (tidak digunakan lagi) Kediaman Istana Negara Istana Merdeka Istana Bogor Istana Cipanas Gedung Agung Istana Tampaksiring Ditunjuk olehPemilihan umum langsungMasa jabatan5 tahun, dapat diperpanjang sekaliPejabat perdanaSoekarnoDibentuk18 Agustus 1945; 78 tahun lalu (1945-08-18)WakilWakil …

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 atau coba peralatan pencari pranala.Tag ini diberikan pada Januari 2023. Moore di Festival Film Cannes 2016 Julianne Moore adalah seorang aktris Amerika yang membuat debut aktingnya di televisi pada 1984 dalam serial misteri The Edge of Night.[1] Pada tahun berikutnya, ia membuat penampilan pertamanya dalam sinetron As…

American intelligence official (born 1964) For other people named Michael Atkinson, see Michael Atkinson (disambiguation). Michael AtkinsonInspector General of the Intelligence CommunityIn officeMay 17, 2018 – May 3, 2020On leave: April 3, 2020 – May 3, 2020PresidentDonald TrumpPreceded byCharles McCulloughSucceeded byThomas Monheim Personal detailsBornMichael Kevin Atkinson (1964-05-16) May 16, 1964 (age 59)Oswego, New York, U.S.SpouseKathryn CameronEducationSyracuse Universit…

Biografi ini memerlukan lebih banyak catatan kaki untuk pemastian. Bantulah untuk menambahkan referensi atau sumber tepercaya. Materi kontroversial atau trivial yang sumbernya tidak memadai atau tidak bisa dipercaya harus segera dihapus, khususnya jika berpotensi memfitnah.Cari sumber: Gary Turner penampil pertunjukan tambahan – berita · surat kabar · buku · cendekiawan · JSTOR (June 2018) (Pelajari cara dan kapan saatnya untuk menghapus pesan templa…

Municipality in Castilla–La Mancha, SpainConsuegraMunicipality FlagCoat of armsConsuegraShow map of SpainConsuegraShow map of Castilla-La ManchaCoordinates: 39°27′43″N 3°36′23″W / 39.46194°N 3.60639°W / 39.46194; -3.60639CountrySpainAutonomous communityCastilla–La ManchaProvinceToledoGovernment • MayorBenigno Casas GómezArea • Total358 km2 (138 sq mi)Elevation704 m (2,310 ft)Population (2018)[1]…

Doupi yang baru dibuat di Wuhan Doupi (Hanzi: 豆皮; Pinyin: dὸupί), sering juga disebut tiga doupi gurih (三鲜豆皮, sānxiān dòupí),[1] adalah hidangan sarapan dari kota Wuhan di Provinsi Hubei, yang sering dijual sebagai jajanan jalanan.[2] Asal mula Nama makanan ini berasal dari bahan lapisan luarnya yang terbuat dari campuran bubuk kacang hijau, telur, susu, dan tepung. Hidangan ini diciptakan pada tahun 1931 oleh koki lokal yang memvariasikan cara membuat …

This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: Fluorsid – news · newspapers · books · scholar · JSTOR (November 2021) (Learn how and when to remove this template message) Fluorsid SpACompany typePrivately held companyIndustryChemical industryFoundedApril 17, 1969; 54 years ago (1969-04-17) in Cagliari, SardiniaFounderCarlo Enrico Giulini…

King of the Lombards from c. 560 to 572 For other uses, see Alboin (disambiguation). Not to be confused with Albion. AlboinKing of the LombardsWoodcut vignette of Alboin in the 1493 Nuremberg ChronicleReign560/565 – 572PredecessorAudoinSuccessorClephBorn530sPannoniaDied28 June 572 (Aged 42)Verona, ItalyBurialVerona, ItalySpouseChlothsind RosamundIssueAlbsuindaHouseGausiFatherAudoinMotherRodelindaReligionArianism Alboin (530s – 28 June 572) was king of the Lombards from about 560 until 572. D…

Supreme Court of the United States38°53′26″N 77°00′16″W / 38.89056°N 77.00444°W / 38.89056; -77.00444EstablishedMarch 4, 1789; 235 years ago (1789-03-04)LocationWashington, D.C.Coordinates38°53′26″N 77°00′16″W / 38.89056°N 77.00444°W / 38.89056; -77.00444Composition methodPresidential nomination with Senate confirmationAuthorized byConstitution of the United States, Art. III, § 1Judge term lengthlife …

Maltest association football club Football clubSan ĠwannFull nameSan Ġwann Football ClubNickname(s)SaintsFounded1972; 52 years ago (1972)GroundSan Ġwann Football Ground.ChairmanJason BorgManagerXavier SalibaLeagueMaltese National Amateur League2022–23Maltese Challenge League 13th (relegated) Home colours Away colours Third colours San Ġwann Football Club is a Maltese football club from the urban town of San Ġwann, which currently plays in the Maltese Challenge League. Hi…

B

  此條目介紹的是拉丁字母中的第2个字母。关于其他用法,请见「B (消歧义)」。   提示:此条目页的主题不是希腊字母Β、西里尔字母В、Б、Ъ、Ь或德语字母ẞ、ß。 BB b(见下)用法書寫系統拉丁字母英文字母ISO基本拉丁字母(英语:ISO basic Latin alphabet)类型全音素文字相关所属語言拉丁语读音方法 [b][p][ɓ](适应变体)Unicode编码U+0042, U+0062字母顺位2数值 2歷史發展…

Brian McBride Informasi pribadiNama lengkap Brian Robert McBride[1]Tanggal lahir 19 Juni 1972 (umur 51)Tempat lahir Arlington Heights, Illinois, United StatesTinggi 6 ft 0 in (1,83 m)Posisi bermain penyerangKarier junior1990–1993 St. Louis Billikens1994–1996 Naperville Bagel BoysKarier senior*Tahun Tim Tampil (Gol)1994 Milwaukee Rampage 18 (17)1994–1995 VfL Wolfsburg 18 (2)1996–2003 Columbus Crew 161 (62)2000–2001 → Preston North End (pinjam) 9 (1)2003 →…

Polish public broadcasting organization Polish RadioLogo used since 2005, updated in 2017Native namePolskie Radio S.A.Company typeSole-shareholder company of the State TreasuryIndustryMass mediaFounded18 August 1925 (1925-08-18)FounderZygmunt Chamiec and Tadeusz SułowskiHeadquartersAl. Niepodległości 77/85, 00–977 Warsaw, PolandArea servedPolandKey peoplePaweł Majcher (general director)ProductsBroadcasting, radio, web portalsServicesRadio broadcastingWebsitepolskieradio.pl I…

Dutch jazz and pop orchestra Metropole OrkestJazz orchestraFounded1945; 79 years ago (1945)LocationHilversum, NetherlandsPrincipal conductorJules BuckleyWebsiteOfficial website The Metropole Orkest (transl. Metropole Orchestra) is a jazz and pop orchestra based in the Netherlands, and is the largest full-time ensemble of its kind in the world. A hybrid orchestra, it combines jazz, big band and classical symphony orchestra styles. Comprising between 52 and 97 musicians, it…

Family of folding trapdoor spiders Folding trapdoor spidersTemporal range: Cretaceous–present PreꞒ Ꞓ O S D C P T J K Pg N Antrodiaetus unicolor, female Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Arthropoda Subphylum: Chelicerata Class: Arachnida Order: Araneae Infraorder: Mygalomorphae Clade: Atypoidea Family: AntrodiaetidaeGertsch, 1940 Genera See text. Diversity 2 genera, 35 species Antrodiaetidae, also known as folding trapdoor spiders or folding-door spiders,…

British Labour politician For the Australian rugby union player, see Nick Palmer (rugby union). Nick PalmerMember of Parliament for BroxtoweIn office1 May 1997 – 12 April 2010Preceded byJim LesterSucceeded byAnna Soubry Personal detailsBorn (1950-02-05) 5 February 1950 (age 74)City of Westminster, London, EnglandPolitical partyLabourSpouseFiona HunterAlma materCopenhagen University Birkbeck, University of London Massachusetts Institute of TechnologyOccupationMedical computingProf…

American football player (born 1997) American football player Tre AveryAvery in 2022No. 23 – Tennessee TitansPosition:CornerbackPersonal informationBorn: (1997-02-26) February 26, 1997 (age 27)Baltimore, Maryland, U.S.Height:5 ft 11 in (1.80 m)Weight:181 lb (82 kg)Career informationHigh school:St. Frances(Baltimore, Maryland)Franklin(Reisterstown, Maryland)College:RutgersUndrafted:2022Career history Tennessee Titans (2022–present) Roster status:ActiveCareer high…

Seorang tentara Australia memegang senapan mesin MAG58 saat bertugas jaga di Kalimantan pada tahun 1965 Konfrontasi Indonesia-Malaysia berlangsung pada tahun 1962 sampai 1966 antara negara-negara Persemakmuran Inggris dan Indonesia. Indonesia, di bawah Presiden Soekarno, berusaha untuk mencegah pembentukan Federasi Malaysia pada 1963, sementara Persemakmuran Inggris berusaha untuk mengamankan negara baru itu. Perang berlangsung terbatas, terutama di pulau Kalimantan, meskipun beberapa kali seran…

Kembali kehalaman sebelumnya