


Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Riassunto di informatics, algoritmi
Tipologia: Schemi e mappe concettuali
Caricato il 09/01/2026
1 / 4
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!



An algorithm is a central concept in mathematics and informatics. Originally referring to arithmetic procedures, it now designates any exact and finite sequence of instructions that, when executed, solves a problem. In informatics, an algorithm is defined as a precise and finite list of instructions for an executor to process data and achieve the expected result. Algorithms have several essential characteristics: Discreteness: A finite number of sequential steps, each executed fully before moving to the next. Determinacy: Given the same input, the output is always identical. Understandability: No ambiguous instructions; the executor does not make independent decisions. Effectiveness: Execution of all steps guarantees a result within real time. Mass character: Works correctly for a class of problems, not just one instance. Algorithms can be described in different forms: Textual (natural language or algorithmic language), Graphical (e.g., flowcharts), Analytical (formulas), Computer program (in programming languages). Regardless of form, they can be translated into standard programming structures. Edsger Dijkstra showed that serial, branched, and cyclic constructs suffice to represent any algorithm. Algorithmics, as a science, intersects computer science, natural sciences, economics, and technology. Its key areas are:
An algorithm represents a problem-solving idea independent of coding syntax or hardware. Programs are implementations of algorithms, while algorithm creation combines creativity and engineering. Several design paradigms evolved:
Operational Approach (early computers): o Emphasized minimal memory and time usage. o Relied on direct execution of low-level operations (assignment, arithmetic, jumps). o Drawback: excessive jumps caused confusing, unmaintainable code. Structural Approach (1960s, Dijkstra & Wirth): o Based on hierarchical program architecture and subroutines as abstraction. o Benefits: programming discipline, understandability, reliability, effectiveness, reduced costs. o Enabled large, complex systems and correctness proofs. o Four principles:
Algorithm complexity measures the resources required by an algorithm, mainly time and space (RAM). Modern technology minimizes memory concerns, so focus is usually on time complexity. Why time instead of seconds? Execution time depends on hardware, so complexity is measured by the number of elementary operations (arithmetic, assignment, comparisons, I/O). Scaling of execution time: Important for large input data and real-time systems. Complexity is usually expressed in relative units (operation counts). Examples: o Summing n numbers → O(n). o Sequential search in n -element array:
Example 2: Double sum (nested loops) → O(n²).