Kas ir algoritms | Ievads algoritmos

Kas ir algoritms | Ievads algoritmos

Algoritma definīcija

Vārds Algoritms nozīmē Ierobežotu noteikumu vai instrukciju kopums, kas jāievēro aprēķinos vai citās problēmu risināšanas darbībās
Or
Procedūra matemātiskas problēmas risināšanai ierobežotā soļu skaitā, kas bieži ietver rekursīvas darbības .

Tāpēc algoritms attiecas uz noteiktu darbību secību, lai atrisinātu noteiktu problēmu.

Kas ir algoritms

Algoritmu izmantošana:

Algoritmiem ir izšķiroša nozīme dažādās jomās, un tiem ir daudz pielietojumu. Dažas no galvenajām jomām, kurās tiek izmantoti algoritmi, ir:

  1. Datorzinātne: Algoritmi veido datorprogrammēšanas pamatu un tiek izmantoti dažādu problēmu risināšanai, sākot no vienkāršas šķirošanas un meklēšanas līdz sarežģītiem uzdevumiem, piemēram, mākslīgais intelekts un mašīnmācīšanās.
  2. Matemātika: Algoritmus izmanto, lai atrisinātu matemātiskas problēmas, piemēram, atrastu optimālo risinājumu lineāro vienādojumu sistēmai vai atrastu īsāko ceļu grafikā.
  3. Operāciju izpēte : algoritmi tiek izmantoti, lai optimizētu un pieņemtu lēmumus tādās jomās kā transportēšana, loģistika un resursu piešķiršana.
  4. Mākslīgais intelekts: Algoritmi ir mākslīgā intelekta un mašīnmācīšanās pamats, un tos izmanto, lai izstrādātu viedas sistēmas, kas var veikt tādus uzdevumus kā attēlu atpazīšana, dabiskās valodas apstrāde un lēmumu pieņemšana.
  5. Datu zinātne: Algoritmi tiek izmantoti, lai analizētu, apstrādātu un gūtu ieskatus no liela datu apjoma tādās jomās kā mārketings, finanses un veselības aprūpe.

Šie ir tikai daži piemēri no daudzajiem algoritmu lietojumiem. Algoritmu izmantošana nepārtraukti paplašinās, jo parādās jaunas tehnoloģijas un jomas, padarot tos par būtisku mūsdienu sabiedrības sastāvdaļu.

Algoritmi var būt vienkārši un sarežģīti atkarībā no tā, ko vēlaties sasniegt.

To var saprast, ņemot par piemēru jaunas receptes gatavošanu. Lai pagatavotu jaunu recepti, ir jāizlasa instrukcijas un darbības un jāizpilda tās pa vienam, norādītajā secībā. Tādējādi iegūtais rezultāts ir, ka jaunais ēdiens ir pagatavots perfekti. Katru reizi, kad izmantojat tālruni, datoru, klēpjdatoru vai kalkulatoru, jūs izmantojat algoritmus. Tāpat algoritmi palīdz veikt programmēšanas uzdevumu, lai iegūtu gaidīto rezultātu.

Izstrādātie algoritmi ir neatkarīgi no valodas, t.i., tie ir vienkārši instrukcijas, kuras var ieviest jebkurā valodā, un tomēr rezultāts būs tāds pats, kā paredzēts.

Kam nepieciešami algoritmi?

  1. Algoritmi ir nepieciešami, lai efektīvi un produktīvi atrisinātu sarežģītas problēmas.
  2. Tie palīdz automatizēt procesus un padarīt tos uzticamākus, ātrākus un vieglāk izpildāmus.
  3. Algoritmi arī ļauj datoriem veikt uzdevumus, kurus cilvēkiem būtu grūti vai neiespējami veikt manuāli.
  4. Tos izmanto dažādās jomās, piemēram, matemātikā, datorzinātnēs, inženierzinātnēs, finansēs un daudzās citās, lai optimizētu procesus, analizētu datus, veiktu prognozes un sniegtu problēmu risinājumus.

Kādas ir algoritma īpašības?

Algoritma raksturojums

Kā jau pēc receptes gatavošanā nebūtu ievēroti nekādi rakstiski norādījumi, bet tikai standarta. Tāpat ne visas rakstiskās programmēšanas instrukcijas ir algoritmi. Lai daži norādījumi būtu algoritmi, tiem ir jābūt šādām īpašībām:

  • Skaidrs un nepārprotams : Algoritmam jābūt nepārprotamam. Katram tās posmam jābūt skaidram visos aspektos, un tam jānoved tikai pie vienas nozīmes.
  • Labi definētas ievades : ja algoritms saka ņemt ievades datus, tai jābūt precīzi definētām ievadēm. Tas var vai var nepieņemt ievadi.
  • Labi definētas izejas: Algoritmam ir skaidri jādefinē, kāda produkcija tiks iegūta, un tam jābūt arī labi definētam. Tam vajadzētu radīt vismaz 1 izvadi.
  • Ierobežotība: Algoritmam jābūt ierobežotam, t.i., tam jābeidzas pēc ierobežota laika.
  • Iespējami: Algoritmam jābūt vienkāršam, vispārīgam un praktiskam, lai to varētu izpildīt ar pieejamajiem resursiem. Tajā nedrīkst būt nākotnes tehnoloģijas vai kaut kas cits.
  • Neatkarīgi no valodas: Izstrādātajam algoritmam ir jābūt neatkarīgam no valodas, t.i., tiem jābūt vienkāršiem norādījumiem, kurus var ieviest jebkurā valodā, un tomēr rezultāts būs tāds pats, kā paredzēts.
  • Ievade : Algoritmam ir nulle vai vairāk ievades. Katram, kas satur pamata operatoru, ir jāpieņem nulle vai vairāk ievades.
  • Izvade : algoritms rada vismaz vienu izvadi. Katrai instrukcijai, kas satur pamata operatoru, ir jāpieņem nulle vai vairāk ievades.
  • Noteiktība: Visām instrukcijām algoritmā jābūt nepārprotamām, precīzām un viegli interpretējamām. Atsaucoties uz jebkuru no algoritma norādījumiem, var skaidri saprast, kas ir jādara. Katrs pamatoperators instrukcijā ir jādefinē bez jebkādām neskaidrībām.
  • Galīgums: Algoritmam ir jābeidzas pēc noteikta soļu skaita visos testa gadījumos. Katra instrukcija, kas satur pamatoperatoru, ir jāpārtrauc ierobežotā laika periodā. Bezgalīgām cilpām vai rekursīvām funkcijām bez bāzes nosacījumiem nav ierobežotības.
  • Efektivitāte: Algoritms ir jāizstrādā, izmantojot ļoti vienkāršas, vienkāršas un iespējamas darbības, lai to varētu izsekot, izmantojot tikai papīru un zīmuli.

Algoritma īpašības:

  • Tam vajadzētu beigties pēc noteikta laika.
  • Tam vajadzētu radīt vismaz vienu izvadi.
  • Tam vajadzētu būt nullei vai vairāk ievades.
  • Tam vajadzētu būt deterministiskam nozīmēm, kas nodrošina tādu pašu izvadi vienam un tam pašam ievades gadījumam.
  • Katram algoritma posmam ir jābūt efektīvam, t.i., katram solim ir jāstrādā.

Algoritmu veidi:

Ir pieejami vairāki algoritmu veidi. Daži svarīgi algoritmi ir:

1. Brutālā spēka algoritms :

Tā ir vienkāršākā pieeja problēmas risināšanai. Brutālā spēka algoritms ir pirmā pieeja, lai atrastu problēmu, kad mēs redzam problēmu.

2. Rekursīvais algoritms :

Rekursīvais algoritms ir balstīts uz rekursija . Šajā gadījumā problēma tiek sadalīta vairākās apakšdaļās un atkal un atkal tiek saukta par vienu un to pašu funkciju.

3. Atkāpšanās algoritms :

Atkāpšanās algoritms veido risinājumu, meklējot starp visiem iespējamiem risinājumiem. Izmantojot šo algoritmu, mēs turpinām veidot risinājumu pēc kritērijiem. Ikreiz, kad risinājums neizdodas, mēs izsekojam līdz atteices punktam, pamatojoties uz nākamo risinājumu, un turpinām šo procesu, līdz atrodam risinājumu vai visi iespējamie risinājumi tiek izskatīti.

4. Meklēšanas algoritms :

Meklēšanas algoritmi ir tie, kurus izmanto elementu vai elementu grupu meklēšanai no noteiktas datu struktūras. Tie var būt dažāda veida atkarībā no pieejas vai datu struktūras, kurā elements ir jāatrod.

5. Šķirošanas algoritms :

Kārtošana ir datu grupas kārtošana noteiktā veidā atbilstoši prasībām. Algoritmus, kas palīdz veikt šo funkciju, sauc par šķirošanas algoritmiem. Parasti kārtošanas algoritmus izmanto, lai kārtotu datu grupas pieaugošā vai samazinošā veidā.

6. Jaukšanas algoritms :

Jaukšanas algoritmi darbojas līdzīgi kā meklēšanas algoritms. Bet tie satur indeksu ar atslēgas ID. Jaukšanā atslēga tiek piešķirta konkrētiem datiem.

7. Dali un iekaro algoritms :

Šis algoritms sadala problēmu apakšproblēmās, atrisina vienu apakšproblēmu un apvieno risinājumus, lai iegūtu galīgo risinājumu. Tas sastāv no šādiem trim soļiem:

  • Sadaliet
  • Atrisināt
  • Apvienot

8. Mantkārīgs algoritms :

Šāda veida algoritmā risinājums tiek veidots pa daļai. Nākamās daļas risinājums ir veidots, pamatojoties uz tūlītēju ieguvumu no nākamās daļas. Viens risinājums, kas dod vislielāko labumu, tiks izvēlēts kā nākamās daļas risinājums.

9. Dinamiskās programmēšanas algoritms :

Šis algoritms izmanto jau atrastā risinājuma izmantošanas koncepciju, lai izvairītos no vienas un tās pašas problēmas daļas atkārtotas aprēķināšanas. Tas sadala problēmu mazākās apakšproblēmās, kas pārklājas, un atrisina tās.

10. Randomizēts algoritms :

Randomizētajā algoritmā mēs izmantojam nejaušu skaitli, lai tas sniegtu tūlītēju labumu. Nejaušais skaitlis palīdz izlemt paredzamo rezultātu.

Lai uzzinātu vairāk par algoritmu veidiem, skatiet rakstu par Algoritmu veidi .

Algoritmu priekšrocības:

  • To ir viegli saprast.
  • Algoritms ir noteiktas problēmas risinājuma pakāpenisks attēlojums.
  • Algoritmā problēma ir sadalīta mazākos gabalos vai soļos, tāpēc programmētājam ir vieglāk to pārvērst par faktisku programmu.

Algoritmu trūkumi :

  • Algoritma rakstīšana aizņem daudz laika, tāpēc tas ir laikietilpīgs.
  • Sarežģītas loģikas izpratne, izmantojot algoritmus, var būt ļoti sarežģīta.
  • Algoritmos ir grūti parādīt sazarošanas un cilpas paziņojumus (imp) .

Kā izveidot algoritmu?

Lai uzrakstītu algoritmu, kā priekšnoteikums ir nepieciešamas šādas lietas:

  1. The problēma kas ir jāatrisina ar šo algoritmu, t.i., skaidra problēmas definīcija.
  2. The ierobežojumiem problēma ir jāņem vērā, risinot problēmu.
  3. The ievade kas jāņem, lai atrisinātu problēmu.
  4. The izvade ir sagaidāms, kad problēma tiks atrisināta.
  5. The risinājums šī problēma ir noteiktajos ierobežojumos.

Pēc tam ar iepriekšminēto parametru palīdzību tiek uzrakstīts algoritms tā, lai tas atrisinātu problēmu.

Piemērs: Apsveriet piemēru, lai pievienotu trīs skaitļus un izdrukātu summu.

1. darbība: priekšnosacījumu izpilde

Kā minēts iepriekš, lai uzrakstītu algoritmu, ir jāizpilda tā priekšnoteikumi.

  1. Problēma, kas jāatrisina ar šo algoritmu : pievienojiet 3 skaitļus un izdrukājiet to summu.
  2. Problēmas ierobežojumi, kas jāņem vērā, risinot problēmu : cipariem ir jāsatur tikai cipari un nedrīkst būt citas rakstzīmes.
  3. Ievade, kas jāveic, lai atrisinātu problēmu: Trīs skaitļi, kas jāsaskaita.
  4. Izvade, kas sagaidāma, kad problēma ir atrisināta: Trīs skaitļu summa, kas ņemta par ievadi, t.i., viena vesela skaitļa vērtība.
  5. Šīs problēmas risinājums norādītajos ierobežojumos: Risinājums sastāv no 3 skaitļu pievienošanas. To var izdarīt ar operatora “+” palīdzību, bitu veidā vai jebkuru citu metodi.


2. solis: algoritma izstrāde

Tagad izstrādāsim algoritmu, izmantojot iepriekš minētos priekšnoteikumus:

Algoritms, lai pievienotu 3 skaitļus un izdrukātu to summu:

  1. SĀKT
  2. Deklarē 3 veselus mainīgos num1, num2 un num3.
  3. Ņemiet trīs pievienojamos skaitļus kā ievadi attiecīgi mainīgajos num1, num2 un num3.
  4. Deklarē veselu skaitļu mainīgo summu, lai saglabātu iegūto 3 skaitļu summu.
  5. Pievienojiet 3 skaitļus un saglabājiet rezultātu mainīgajā summā.
  6. Izdrukājiet mainīgā summas vērtību
  7. BEIGAS


3. darbība. Algoritma pārbaude, to ieviešot.

Lai pārbaudītu algoritmu, ieviesīsim to C valodā.

Programma:

C++ // C++ program to add three numbers // with the help of above designed // algorithm #include using namespace std; int main() { // Variables to take the input of // the 3 numbers int num1, num2, num3; // Variable to store the resultant sum int sum; // Take the 3 numbers as input cout < < 'Enter the 1st number: '; cin>> num1; cout < < ' ' < < num1 < < endl; cout < < 'Enter the 2nd number: '; cin>> num2; cout < < ' ' < < num2 < < endl; cout < < 'Enter the 3rd number: '; cin>> num3; cout < < ' ' < < num3; // Calculate the sum using + operator // and store it in variable sum sum = num1 + num2 + num3; // Print the sum cout < < ' Sum of the 3 numbers is: ' < < sum; return 0; } // This code is contributed by shivanisinghss2110> C // C program to add three numbers // with the help of above designed algorithm #include int main() { // Variables to take the input of the 3 numbers int num1, num2, num3; // Variable to store the resultant sum int sum; // Take the 3 numbers as input printf('Enter the 1st number: '); scanf('%d', &num1); printf('%d ', num1); printf('Enter the 2nd number: '); scanf('%d', &num2); printf('%d ', num2); printf('Enter the 3rd number: '); scanf('%d', &num3); printf('%d ', num3); // Calculate the sum using + operator // and store it in variable sum sum = num1 + num2 + num3; // Print the sum printf(' Sum of the 3 numbers is: %d', sum); return 0; }> Java // Java program to add the three numbers // with the help of above designed // algorithm import java.util.*; class GFG { public static void main(String[] args) { // Variable to store the resultant sum int sum = 0; // Declare the object and initialize with // predefined standard input object Scanner sc = new Scanner(System.in); // Scanner definition // Variables to take the input of // the 3 numbers System.out.println('Enter the 1st number: '); int num1 = sc.nextInt(); // input is an Integer // read by nextInt() function System.out.println(' ' + num1); System.out.println('Enter the 2nd number: '); int num2 = sc.nextInt(); System.out.println(' ' + num2); System.out.println('Enter the 3rd number: '); int num3 = sc.nextInt(); System.out.println(' ' + num3); // Calculate the sum using + operator // and store it in variable sum sum = num1 + num2 + num3; System.out.println('Sum of the 3 numbers is = ' + sum); } } /*This code is contributed by Rishab Dugar*/> Python # Python3 program to add three numbers # with the help of above designed # algorithm if __name__ == '__main__': # Variables to take the input of # the 3 numbers num1 = num2 = num3 = 0 # Variable to store the resultant sum sum = 0 # Take the 3 numbers as input num1 = int(input('Enter the 1st number: ')) num2 = int(input('Enter the 2nd number: ')) num3 = int(input('Enter the 3rd number: ')) # Calculate the sum using + operator # and store it in variable sum sum = num1 + num2 + num3 # Print the sum print(' Sum of the 3 numbers is:', sum)> C# // C# program to add the three numbers // with the help of above designed // algorithm using System; class GFG { static public void Main () { // Variable to store the resultant sum int sum = 0; // Variables to take the input of // the 3 numbers Console.Write('Enter the 1st number: '); int num1 = int.Parse(Console.ReadLine()); Console.WriteLine(' ' + num1); Console.Write('Enter the 2nd number: '); int num2 = int.Parse(Console.ReadLine()); Console.WriteLine(' ' + num2); Console.Write('Enter the 3rd number: '); int num3 = int.Parse(Console.ReadLine()); Console.WriteLine(' ' + num3); // Calculate the sum using + operator // and store it in variable sum sum = num1 + num2 + num3; Console.WriteLine('Sum of the 3 numbers is = ' + sum); } } /*This code is contributed by Pushpesh Raj*/> Javascript // Javascript program to add three numbers // with the help of above designed // algorithm // Variables to take the input of // the 3 numbers let num1 = 0, num2 = 0, num3 = 0; // Variable to store the resultant sum let sum = 0; // Take the 3 numbers as input console.log('Enter the 1st number: '); num1 = parseInt(prompt()); console.log(' ' + num1 + ' '); console.log('Enter the 2nd number: '); num2=parseInt(prompt()); console.log(' ' + num2 + ' '); console.log('Enter the 3rd number: '); num3=parseInt(prompt()); console.log(' ' + num3); // Calculate the sum using + operator // and store it in variable sum sum = num1 + num2 + num3; // Print the sum console.log(' Sum of the 3 numbers is: ' + sum); // This code is contributed by Aman Kumar>
Izvade

Ievadiet 1. numuru: 0 Ievadiet 2. numuru: 0 Ievadiet 3. numuru: -1577141152 3 skaitļu summa ir: -1577141152

Šeit ir koda soli pa solim algoritms:

  1. Deklarējiet trīs mainīgos lielumus num1, num2 un num3, lai saglabātu trīs pievienojamos skaitļus.
  2. Deklarē mainīgo summu, lai saglabātu trīs skaitļu summu.
  3. Izmantojiet paziņojumu cout, lai mudinātu lietotāju ievadīt pirmo numuru.
  4. Izmantojiet cin paziņojumu, lai izlasītu pirmo numuru un saglabātu to num1.
  5. Izmantojiet paziņojumu cout, lai mudinātu lietotāju ievadīt otro numuru.
  6. Izmantojiet cin paziņojumu, lai izlasītu otro skaitli un saglabātu to num2.
  7. Izmantojiet paziņojumu cout, lai mudinātu lietotāju ievadīt trešo numuru.
  8. Izmantojiet cin paziņojumu, lai nolasītu un saglabātu trešo skaitli num3.
  9. Aprēķiniet trīs skaitļu summu, izmantojot operatoru +, un saglabājiet to summas mainīgajā.
  10. Izmantojiet paziņojumu cout, lai izdrukātu trīs skaitļu summu.
  11. Galvenā funkcija atgriež 0, kas norāda uz veiksmīgu programmas izpildi.

Laika sarežģītība: O(1)
Palīgtelpa: O(1)

Viena problēma, daudzi risinājumi: Algoritma risinājums var būt vai nevar būt vairāk par vienu. Tas nozīmē, ka algoritma ieviešanas laikā var būt vairāk nekā viena metode tā ieviešanai. Piemēram, iepriekš minētajā 3 skaitļu saskaitīšanas uzdevumā summu var aprēķināt dažādos veidos:

  • + operators
  • Bitu gudri operatori
  • . . utt

Kā analizēt algoritmu?

Lai standarta algoritms būtu labs, tam jābūt efektīvam. Tāpēc ir jāpārbauda un jāuztur algoritma efektivitāte. Tas var būt divos posmos:

1. Iepriekšēja analīze:

Priori nozīmē pirms. Tādējādi Priori analīze nozīmē algoritma pārbaudi pirms tā ieviešanas. Šajā gadījumā algoritms tiek pārbaudīts, kad tas ir uzrakstīts teorētisko soļu veidā. Šo algoritma efektivitāti mēra, pieņemot, ka visi pārējie faktori, piemēram, procesora ātrums, ir nemainīgi un neietekmē ieviešanu. To parasti veic algoritmu izstrādātājs. Šī analīze nav atkarīga no kompilatora aparatūras veida un valodas. Tas sniedz aptuvenas atbildes uz programmas sarežģītību.

2. Aizmugurējā analīze:

Aizmugurējais nozīmē pēc. Tādējādi aizmugurējā analīze nozīmē algoritma pārbaudi pēc tā ieviešanas. Šajā gadījumā algoritms tiek pārbaudīts, ieviešot to jebkurā programmēšanas valodā un izpildot to. Šī analīze palīdz iegūt faktisko un reālo analīzes atskaiti par pareizību (katrai iespējamai ievadei/-ēm, ja tā rāda/atgriež pareizu izvadi), nepieciešamo vietu, patērēto laiku utt. Tas ir, tas ir atkarīgs no ievades valodas. kompilators un izmantotās aparatūras veids.

Kas ir algoritma sarežģītība un kā to atrast?

Algoritms tiek definēts kā sarežģīts, pamatojoties uz tā patērētās telpas un laika daudzumu. Tādējādi algoritma sarežģītība attiecas uz laiku, kas tam būs nepieciešams, lai izpildītu un iegūtu paredzamo rezultātu, un vietu, kas tam būs nepieciešama visu datu (ievades, pagaidu datu un izvades) glabāšanai. Tādējādi šie divi faktori nosaka algoritma efektivitāti.
Divi algoritma sarežģītības faktori ir:

  • Laika faktors : laiks tiek mērīts, saskaitot galveno darbību skaitu, piemēram, salīdzinājumus šķirošanas algoritmā.
  • Kosmosa faktors : vieta tiek mērīta, saskaitot maksimālo atmiņas vietu, kas nepieciešama algoritma palaišanai/izpildīšanai.

Tāpēc Algoritma sarežģītību var iedalīt divos veidos :

1. Kosmosa sarežģītība : Algoritma telpas sarežģītība attiecas uz atmiņas apjomu, kas algoritmam nepieciešams, lai saglabātu mainīgos un iegūtu rezultātu. Tas var būt ievades, pagaidu darbības vai izvades.

Kā aprēķināt telpas sarežģītību?
Algoritma telpas sarežģītību aprēķina, nosakot šādas 2 sastāvdaļas:

  • Fiksētā daļa: Tas attiecas uz vietu, kas nepieciešama algoritmam. Piemēram, ievades mainīgie, izvades mainīgie, programmas lielums utt.
  • Mainīgā daļa: Tas attiecas uz vietu, kas var atšķirties atkarībā no algoritma ieviešanas. Piemēram, pagaidu mainīgie, dinamiskā atmiņas piešķiršana, rekursijas steka vieta utt.
    Tāpēc telpas sarežģītība S(P) jebkura algoritma P ir S(P) = C + SP(I) , kur C ir fiksētā daļa un S(I) ir algoritma mainīgā daļa, kas ir atkarīga no gadījuma raksturlieluma I.

Piemērs: Apsveriet tālāk norādīto lineārās meklēšanas algoritmu

1. darbība: SĀKT
2. darbība: iegūstiet n elementus masīvā arr un meklējamo numuru x
3. darbība. Sāciet no arr[] vistālāk kreisā elementa un pa vienam salīdziniet x ar katru arr[] elementu.
4. darbība. Ja x atbilst elementam, drukājiet True.
5. darbība. Ja x neatbilst nevienam no elementiem, Drukājiet False.
6. darbība: BEIGAS
Šeit ir 2 mainīgie arr[] un x, kur arr[] ir n elementu mainīgā daļa un x ir fiksētā daļa. Tādējādi S(P) = 1+n. Tātad telpas sarežģītība ir atkarīga no n (elementu skaita). Tagad telpa ir atkarīga no doto mainīgo un konstantu tipu datu tipiem, un tā tiks attiecīgi reizināta.

2. Laika sarežģītība : Algoritma laika sarežģītība attiecas uz laiku, kas nepieciešams algoritma izpildei un rezultāta iegūšanai. Tas var attiekties uz normālām darbībām, nosacījuma if-else priekšrakstiem, cilpas priekšrakstiem utt.

Kā aprēķināt , Laika sarežģītība?
Algoritma laika sarežģītību aprēķina arī, nosakot šādus 2 komponentus:

  • Pastāvīgā laika daļa: Jebkura instrukcija, kas tiek izpildīta tikai vienu reizi, tiek iekļauta šajā daļā. Piemēram, ievade, izvade, if-else, slēdzis, aritmētiskās darbības utt.
  • Mainīga laika daļa: Jebkura instrukcija, kas tiek izpildīta vairāk nekā vienu reizi, teiksim, n reizes, nonāk šajā daļā. Piemēram, cilpas, rekursija utt.
    Tāpēc laika sarežģītība T(P) jebkura algoritma P ir T(P) = C + TP(I) , kur C ir nemainīgā laika daļa un TP(I) ir algoritma mainīgā daļa, kas ir atkarīga no gadījuma raksturlieluma I.

Piemērs: Iepriekš minētajā lineārās meklēšanas algoritmā laika sarežģītība tiek aprēķināta šādi:

1. darbība: – Pastāvīgs laiks
2. darbība. — mainīgs laiks (n ievades)
3. darbība: – mainīgs laiks (līdz masīva garumam (n) vai atrastā elementa indeksam)
4. darbība: – Pastāvīgs laiks
5. darbība: – Pastāvīgs laiks
6. darbība: – Pastāvīgs laiks
Tādējādi T(P) = 1 + n + n(1 + 1) + 1 = 2 + 3n, ko var teikt kā T(n).

Kā izteikt algoritmu?

  1. Dabiskā valoda: - Šeit mēs izsakām algoritmu dabiskajā angļu valodā. No tā ir pārāk grūti saprast algoritmu.
  2. Blokshēma :- Šeit mēs izsakām algoritmu, izveidojot a tās grafiskais/grafiskais attēlojums. To ir vieglāk saprast nekā dabisko valodu.
  3. Pseido kods :- Šeit mēs izpaužam algoritmu anotāciju un informatīvā teksta veidā, kas rakstīts vienkāršā angļu valodā, kas ir ļoti līdzīgs reālajam kodam, bet, tā kā tam nav sintakses kā nevienai no programmēšanas valodām, dators to nevar apkopot vai interpretēt. . Tas ir labākais veids, kā izteikt algoritmu, jo to var saprast pat nespeciālists ar dažām skolas līmeņa zināšanām.