Komputer, Programming
Téhnik dina programming asihan: asihan "gelembung"
gelembung diurutkeun henteu ukur dianggap metodeu panggancangna, komo deui, éta nutup daftar tina cara slowest pikeun ngatur. Sanajan kitu, eta boga kaunggulan na. Ku kituna, métode asihan gelembung - paling anu ngayakeun mangrupakeun leyuran alam tur logis mun masalahna, upami anjeun hoyong ngatur item dina urutan husus. Hiji jalma biasa sacara manual, contona, éta bakal ngagunakeun éta - ngan ku intuisi.
Dimana tuh hiji ngaran misalna mahiwal?
Ngaran metoda sumping up, ngagunakeun analogi gelembung hawa dina caina. Ieu métafora mangrupa. Kawas gelembung saeutik tina naékna hawa ka luhur - sabab dénsitas maranéhanana nyaéta gede ti nu ti mana wae cair (dina hal ieu - caina), sarta masing-masing unsur Asép Sunandar Sunarya, nu leutik eta ngarupakeun nilai, jalan beuki bertahap ka luhur daptar nomer.
Pedaran algoritma nu
gelembung diurutkeun anu dipigawé saperti kieu:
- mimitina lolos: unsur angka Asép Sunandar Sunarya dicokot ku dua pasang tur ogé dibandingkeun. Lamun sababaraha elemen ti nilai heula tim dua-lalaki geus gede ti nu kadua, program ngajadikeun éta tempat bursa;
- akibatna, jumlah greatest misses tungtung Asép Sunandar Sunarya dina. Bari sakabeh elemen séjén tetep sakumaha maranéhanana éta, di luhur kacau, sarta merlukeun leuwih asihan;
- sahingga merlukeun hiji lolos kadua: eta dijieun ku analogi jeung saméméhna (geus ditétélakeun) jeung boga sababaraha babandinganana - dikurangan salah;
- di angka petikan tilu babandinganana, salah kirang ti kadua, jeung dua, ti heula. Jeung saterusna;
- nyimpulkeun yen unggal petikan boga (sakabeh nilai dina Asép Sunandar Sunarya dina, jumlah nu tangtu) dikurangan (jumlah petikan) babandinganana.
Algoritma malah pondok tina program anu bisa ditulis salaku:
- hiji Asép Sunandar Sunarya ti nomer anu dipariksa salami naon dua nomer anu kapanggih, anu kadua éta geus kabeungkeut janten gede ti kahiji;
- leres diposisikan dina hubungan tiap elemen séjén anu swaps software Asép Sunandar Sunarya.
Pseudocode dumasar kana algoritma digambarkeun
Palaksanaan pangbasajanna dilumangsungkeun saperti kieu:
Prosedur Sortirovka_Puzirkom;
mimiti
siklus pikeun j ti nachalnii_index mun konechii_index;
siklus keur i ti nachalnii_index mun konechii_index-1;
lamun massiv [i]> massiv [i + 1] (unsur kahiji leuwih gede ti kadua), lajeng:
(Robah tempat nilai);
ahir
Tangtu, kesederhanaan ieu ngan aggravates kaayaan: nu basajan algoritma nu, beuki eta manifests sagala flaws. ratio investasi waktu teuing hébat malah pikeun Asép Sunandar Sunarya leutik (di dieu asalna di rélativitas: Jumlah waktu keur awam teh mungkin sigana leutik, tapi dina kanyataanana hiji programmer unggal diitung kadua atawa malah millisecond).
Butuh waktu palaksanaan hadé. Contona, nyokot kana akun bursa tina nilai di lokasi Asép Sunandar Sunarya:
Prosedur Sortirovka_Puzirkom;
mimiti
sortirovka = leres;
siklus dugi sortirovka = leres;
sortirovka = palsu;
siklus keur i ti nachalnii_index mun konechii_index-1;
lamun massiv [i]> massiv [i + 1] (unsur kahiji leuwih gede ti kadua), lajeng:
(Robah elemen tempat);
sortirovka = leres; (Dicirikeun nu bursa nu geus dilakukeun).
Tungtung.
watesan
Nu disadvantage utama - durasi prosés. Sabaraha waktos anu dipigawé asihan algoritma gelembung?
waktos kalungguhan diitung ti Jumlah nomer pasagi di Asép Sunandar Sunarya dina - hasil ahir éta sabanding.
Lamun kasus awon Asép Sunandar Sunarya dina disalurkeun saloba kali sakumaha eta boga elemen dikurangan hiji nilai. Ieu kajadian kusabab di tungtungna aya ngan hiji unsur, nu nganggur pikeun ngabandingkeun, jeung lolos panungtungan ngaliwatan Asép Sunandar Sunarya janten Peta gunana.
Sajaba ti éta, métode efektip asihan hiji bursa basajan, saperti mangka disebut, ngan keur arrays tina ukuranana leutik. jumlahna ageung data kalayan bantuan prosés iyeu moal jalan mun: hasilna bakal boh kasalahan atawa kagagalan program.
darajad
gelembung diurutkeun pisan gampang ngartos. The curricula sahiji universitas teknis dina ulikan ngeunaan elemen nyusun Asép Sunandar Sunarya na lulus dina tempat munggaran. métode anu gampang pikeun nerapkeun duanana bahasa Delphi programming (L (Delphi), jeung C / C ++ (C / C tambah tambah), hiji nilai incredibly basajan tina algoritma lokasi dina urutan ka katuhu jeung dina Pascal (Pascal). gelembung diurutkeun mangrupa idéal pikeun beginners.
Alatan éta drawbacks tina algoritma henteu dipaké dina tujuan ekstrakurikuler.
Prinsip asihan Visual
Mimiti pintonan ti Asép Sunandar Sunarya 8 22 4 74 44 37 1 7
Hambalan 8 22 4 1 74 44 37 1 7
8 22 4 74 44 1 37 7
8 22 4 74 1 44 37 7
8 22 4 1 74 44 37 7
8 22 1 4 74 44 37 7
8 1 22 4 74 44 37 7
1 8 22 4 74 44 37 7
Hambalan 1 8 22 2 4 74 44 7 37
1 8 22 4 74 7 44 37
1 8 22 4 7 74 44 37
1 8 22 4 7 74 44 37
1 8 4 22 7 74 44 37
1 4 8 22 7 74 44 37
Hambalan 1 4 8 3 22 7 74 37 44
1 4 8 22 7 37 74 44
1 4 8 22 7 37 74 44
1 4 8 7 22 37 74 44
1 4 7 8 22 37 74 44
Hambalan 1 4 7 4 8 22 37 44 74
1 4 7 8 22 37 44 74
1 4 7 8 22 37 44 74
1 4 7 8 22 37 44 74
Hambalan 1 4 7 5 8 22 37 44 74
1 4 7 8 22 37 44 74
1 4 7 8 22 37 44 74
Hambalan 1 4 7 6 8 22 37 44 74
1 4 7 8 22 37 44 74
Hambalan 1 4 7 7 8 22 37 44 74
gelembung diurutkeun conto di Pascal
contona:
kol_mas const = 10;
var massiv: Asép Sunandar Sunarya [1..kol_mas] of integer;
a, b, k: integer;
ngamimitian
writeln ( 'asupan', kol_mas, 'unsur Asép Sunandar Sunarya');
pikeun: = 1 keur kol_mas do readln (massiv [a ]);
pikeun: = 1 keur kol_mas-1 ngalakukeun dimimitian
pikeun b: = a + 1 nepi ka kol_mas ulah dimimitian
lamun massiv [a]> massiv [ b] lajeng ngawitan
k: = massiv [a]; massiv [a]: = massiv [ b]; massiv [b]: = k;
mungkas;
mungkas;
mungkas;
writeln ( 'sanggeus diurutkeun');
pikeun: = 1 keur kol_mas do writeln (massiv [a ]);
tungtung.
Conto gelembung asihan dina basa C (C)
contona:
#include
#include
int utama (int argc, char * argv [])
{
int massiv [8] = {36, 697, 73, 82, 68, 12, 183, 88}, i, ff;
pikeun (;;) {
ff = 0;
pikeun (i = 7; i> 0; i -) {
lamun (massiv [i]
swap (massiv [i], massiv [i- 1]);
ff ++;
}
}
lamun (ff == 0) megatkeun;
}
getch (); // tampilan reureuh
balik 0;
}.
Similar articles
Trending Now