Acasă Finanțe personale Simulând Utilizarea mașinilor abstracte cu algoritmi - dummies

Simulând Utilizarea mașinilor abstracte cu algoritmi - dummies

Video: 97% Owned - Economic Truth documentary - How is Money Created 2024

Video: 97% Owned - Economic Truth documentary - How is Money Created 2024
Anonim

Cu cât mai multe operații necesită un algoritm, cu atât este mai complexă. Complexitatea este o măsură a eficienței algoritmului în ceea ce privește utilizarea timpului deoarece fiecare operațiune durează ceva timp. Având în vedere aceeași problemă, algoritmii complexi sunt, în general, mai puțin favorabili decât algoritmii simpli, deoarece algoritmii complexi necesită mai mult timp.

Gândiți-vă la acele momente în care viteza de execuție face diferența, cum ar fi în sectorul medical sau financiar sau când zbori pe pilot automat pe o rachetă de avion sau spațiu. Măsurarea complexității algoritmului este o sarcină dificilă, deși una necesară dacă doriți să folosiți soluția potrivită. Prima tehnică de măsurare utilizează mașini abstracte precum Machine Random Access (RAM).

RAM înseamnă de asemenea memoria Random Access, care este memoria internă utilizată de computerul dvs. atunci când rulează programe. Chiar dacă utilizează același acronim, o mașină cu acces aleatoriu este ceva complet diferit.

Mașinile abstracte nu sunt calculatoare reale, ci teoretice, calculatoare imaginate în funcționarea lor. Utilizați mașini abstracte pentru a vă gândi cât de bine ar funcționa un algoritm pe un computer fără a îl testa pe chestia reală, dar legat de tipul de hardware pe care îl utilizați. Un computer RAM realizează operații aritmetice de bază și interacționează cu informațiile din memorie, asta e tot. De fiecare dată când un computer RAM face ceva, este nevoie de un pas de timp (o unitate de timp). Când evaluați un algoritm într-o simulare RAM, numărați pașii de timp utilizând următoarea procedură:

  1. Numărați fiecare operație simplă (cele aritmetice) ca un pas de timp.
  2. Întrerupeți operațiile complexe în operații aritmetice simple și numărați pașii de timp așa cum sunt definiți în Pasul 1.
  3. Contorizați fiecare acces de date din memorie ca un pas de timp.

Pentru a efectua această contabilitate, scrieți o versiune pseudocod a algoritmului dvs. și efectuați acești pași utilizând hârtie și creion. În cele din urmă, este o abordare simplă, bazată pe o idee de bază privind funcționarea computerelor, o aproximație utilă pe care o puteți utiliza pentru a compara soluțiile indiferent de puterea și viteza hardware-ului dvs. sau a limbajului de programare pe care îl utilizați.

Folosirea unei simulări diferă de a rula algoritmul pe un computer deoarece utilizați o intrare standard și predefinită. Măsurătorile reale ale computerului necesită rularea codului și verificarea timpului necesar pentru a-l rula. Codul de rulare pe un computer este de fapt un punct de referință, o altă formă de măsurare a eficienței, în care, de asemenea, țineți cont de mediul aplicației (cum ar fi tipul de hardware utilizat și implementarea software-ului).Un punct de referință este util, dar nu are generalizare. Luați în considerare, de exemplu, modul în care hardware-ul mai nou poate executa rapid un algoritm care a îmbătrânit pe computerul anterior.

Simulând Utilizarea mașinilor abstracte cu algoritmi - dummies

Alegerea editorilor

Administrator de rețea: Zone de căutare inversă - dummies

Administrator de rețea: Zone de căutare inversă - dummies

Interogări DNS obișnuite sunt interogări de căutare înainte corespunde unui nume de domeniu complet calificat. O căutare inversă este opusul unei căutări forward: returnează numele de domeniu complet calificat al unei gazde pe baza adresei sale IP. Căutările inverse sunt posibile din cauza unui domeniu special numit ...

Rețea Elemente de bază: Clienți și servere - manechine

Rețea Elemente de bază: Clienți și servere - manechine

Computerul de rețea care conține hard disk-urile, imprimantele și alte resurse care sunt partajate cu alte calculatoare de rețea se numește un server. Acest termen vine în repetate rânduri, deci trebuie să-l amintiți. Scrie-o pe spatele mâinii tale stângi. Orice computer care nu este un server este numit client. Aveți ...

Retea Bazele: Poduri - dummies

Retea Bazele: Poduri - dummies

O punte este un dispozitiv care conecteaza doua retele astfel incat sa actioneze ca si cum ar fi o rețea. Podurile sunt utilizate pentru a împărți o rețea mare în două rețele mai mici din motive de performanță. Vă puteți gândi la un pod ca pe un repetor inteligent. Repetoarele ascultă semnale care coboară pe un cablu de rețea, amplifică ...

Alegerea editorilor

ÎMprumuta și tweak idei de la alte comunități online - dummies

ÎMprumuta și tweak idei de la alte comunități online - dummies

, Mai degrabă decât să ia ideile altcuiva complet pentru dvs. comunitate online, încercați să riffați pe aceeași idee, dar nu atât de mult încât este evident că nu sunteți creierul din spatele brainstorming-ului. Idei sunt acolo pentru a lua, dar nu ar fi mai degrabă văzute ca cineva inovatoare, nu cineva care scours pe web ...

Branding Blogul tău

Branding Blogul tău

Branding blog-ul tău merge mult spre a face dacă este ușor de recunoscut pentru cititorii tăi. Când vedeți un punct roșu în interiorul unui cerc roșu, ce magazin vine în minte? Ce zici de acele arcuri de aur? Un nume de marcă apare în minte atunci când vedeți simbolul swoosh? La fel ca magazinele populare, restaurantele și încălțămintea ...

Construiți un Blog Mama care este Sellable - dummies

Construiți un Blog Mama care este Sellable - dummies

Dacă obiectivul pe termen lung este de a vinde blogul dvs. ar trebui să o construiască cu acest scop în minte. Evitați asocierea prea intensă a blogului cu marca dvs. personală. Un blog care poate fi valoros cu orice scriitor la cârma trebuie să îndeplinească majoritatea, dacă nu toate, următoarele criterii: Blogul este concentrat ...

Alegerea editorilor

Cum să creați o nouă campanie de anunțuri LinkedIn - dummies

Cum să creați o nouă campanie de anunțuri LinkedIn - dummies

LinkedIn oferă servicii de publicitate pentru afacerea dvs. Dacă vă decideți să utilizați LinkedIn ca instrument de marketing, va trebui doar să obțineți o nouă campanie de anunțuri în lucrări. Când sunteți gata să începeți o nouă campanie, urmați acești pași:

Opțiuni de filtrare pentru anunțul dvs. LinkedIn - manechine

Opțiuni de filtrare pentru anunțul dvs. LinkedIn - manechine

Ce opțiuni de filtrare aveți pentru anunțul dvs. LinkedIn? Alte rețele de publicitate vă permit să filtrați publicul vizat de câteva atribute cunoscute ale persoanei care vă va vedea anunțul, sexul și locația membrilor din public. LinkedIn vă permite să faceți un pas mai departe permițându-vă ...

Oferind și primind viziuni pe LinkedIn - manechine

Oferind și primind viziuni pe LinkedIn - manechine

Deși mulți oameni cred că "Nu este ceea ce știi, știi, "care este unul dintre principalele motive pentru care LinkedIn este atât de valoros, mulți oameni (recrutorii, angajații, directorii executivi, investitorii și altele) sunt foarte interesați de ceea ce știi. În mod logic, oamenii care vă cunosc cel mai bine sunt oamenii din rețeaua dvs., care ...