Salam! Şu günki leksiýa beýlekilerden birneme tapawutlanar. Diňe Java bilen gytaklaýyn baglanyşyklydygy bilen tapawutlanar. Şeýle-de bolsa, bu mowzuk her bir programmist üçin gaty möhümdir. Algoritmler hakda gürleşeris . Algoritm näme? Simpleönekeý sözler bilen aýdylanda, bu islenýän netijäni gazanmak üçin edilmeli hereketleriň belli bir yzygiderliligi . Gündelik durmuşda algoritmleri köplenç ulanýarys. Mysal üçin, her gün irden bir mesele bilen ýüzbe-ýüz bolýarsyňyz: mekdebe ýa-da işe gelmek we şol bir wagtyň özünde:
- Geýinen
- Arassa
- Gowy iýmitlenýär
- Jaň sagadyna oýan.
- Suwa düşüň, ýüzüňizi ýuwuň.
- Ertirlik taýýarlaň, kofe / çaý taýýarlaň.
- Iýiň.
- Agşamdan bäri eşikleriňizi demirlemedik bolsaňyz, demirläň.
- Geýinmek.
- Öýden çykyň
- Internetde “Rus şahsy atlaryň sözlügi” 1966-njy ýyldaky neşirini satyn alyň ýa-da göçürip alyň.
- Sanawymyzdaky her bir aty şu sözlükden tapyň.
- Adyň sözlügiň haýsy sahypasynda bardygyny kagyz ýüzüne ýazyň.
- Bellikleri kagyz ýüzüne ulanyp, atlary tertipläň.
for
Bu meseläni ýerine ýetirýän yzygiderli aýlaw ýazýarsyňyz
int[] numbers = new int[100];
// ..заполняем массив числами
for (int i: numbers) {
System.out.println(i);
}
Writtenazuw algoritminiň çylşyrymlylygy näme? Çyzykly, O (N). Programmanyň ýerine ýetirmeli hereketleriniň sany, näçeräk mukdarda geçendigine baglydyr. Eger massiwde 100 san bar bolsa, 100 hereket bolar (ekranda çykyşlar). Eger massiwde 10,000 san bar bolsa, 10 000 hereket edilmeli. Algoritmimizi gowulandyryp bolarmy? No.ok. Her niçigem bolsa, N massiwden geçmeli we N netijelerini konsola ýerine ýetirmeli bolarys . Başga bir meselä seredeliň.
public static void main(String[] args) {
LinkedList<Integer> numbers = new LinkedList<>();
numbers.add(0, 20202);
numbers.add(0, 123);
numbers.add(0, 8283);
}
LinkedList
Bizde birnäçe san goýýan boş bir zat bar . Mysal üçin ýekeje san girizmek üçin algoritmiň çylşyrymlylygyny LinkedList
we sanawdaky elementleriň sanyna näderejede baglydygyny bahalandyrmalydyrys. Jogap O (1) - hemişelik çylşyrymlylyk . Näme üçin? Üns beriň: her gezek sanawyň başyna san goýanymyzda. Mundan başga-da, ýadyňyzda bolsa, sanlary elementlere salanyňyzda , olar hiç ýere geçirilmeýär - baglanyşyklar täzeden kesgitlenýär (eger LinkedList-iň işleýşini birden ýatdan çykaran bolsaňyz, köne leksiýalarymyzyňLinkedList
birine göz aýlaň ). Indi sanawymyzdaky birinji san san bolsa we sanawyň başyna y belgisini goýsak, zerur zat: х
x.previous = y;
y.previous = null;
y.next = x;
Bu salgylanmany kesgitlemek üçin, häzirki wagtda näçe sanynyň bolmagy möhüm dälLinkedList
- iň bolmanda bir, azyndan bir milliard. Algoritmiň çylşyrymlylygy hemişelik bolar - O (1).
GO TO FULL VERSION