Introduction to Algorithm, History, and Its Role Flashcards
set of instructions that computers follow to perform calculations or solve problems.
Algorithm
The word “algorithm” originated from the name of the Central Asian scientist, Abu Abdullah Muhammad ibn Moussa al-Khwarizmi.
9th Century
The word “blank” originated from the name of the Central Asian scientist, Abu Abdullah Muhammad ibn Moussa al-Khwarizmi.
algorithm
Scientists began applying algorithms to other mathematical procedures besides just calculations.
1360
Around 1360 French philosopher Nicole Oresme wrote a mathematical treatise called “blank”, where he used degrees with fractional exponents, coming close to the idea of logarithms.
Algorismus proportionum
Around 1360 Manuals on accounting on lines were called “blank” (rules for accounting on lines).
Algorithmus linealis
Gottfried Leibniz, in his work “Nova Methodvs pro maximis et minimis, itemque tangentibus…”, used the word “Algorithmo” to describe a systematic way to solve differential calculus problems.
1684
1684: Gottfried Leibniz, in his work “Nova Methodvs pro maximis et minimis, itemque tangentibus…”, used the word “blank” to describe a systematic way to solve differential calculus problems.
Algorithmo
The concept of algorithm was precisely defined, allowing for the proof of algorithmic insolvability of many mathematical problems. Alan Turing described a theoretical machine that could solve problems by following coded algorithms.
1936
Turing’s paper “Computing machinery and intelligence” explored the relationship between algorithms and intelligent machines.
1950
Turing’s paper “blank” explored the relationship between algorithms and intelligent machines.
Computing machinery and intelligence
IBM’s Deep Blue machine defeated chess champion Garry Kasparov in a symbolic match between human and artificial intelligence.
1997
The US military invested in war robots, creating BigDog, the first robotic animal. Over 2,000 bomb disposal robots were deployed in Iraq and Afghanistan.
2005
The US military invested in war robots, creating (blank), the first robotic animal. Over 2,000 bomb disposal robots were deployed in Iraq and Afghanistan.
BigDog
Google introduced voice recognition software on iPhones. Since then, Google has introduced numerous improved versions of Go, a programming language.
2008
Algorithms receive input data in various formats, like numbers, text, or images.
Input
Algorithms process this input data through logical and mathematical operations, transforming it.
Processing
Once processed, the algorithm produces an output, which could be a result, a decision, or other meaningful information.
Output
Algorithms aim to be efficient, solving tasks quickly with minimal resources.
Efficiency
Under efficiency, Algorithm designers continually work to improve their algorithms for speed and reliability.
Optimization
Under efficiency, Algorithms are implemented in various programming languages for computers to execute them and produce the desired results.
Implementation
Algorithms help understand scalability by breaking down large problems into smaller steps for faster analysis.
Scalability
The real world is complex. Algorithms allow us to break down problems into smaller steps, making them more manageable.
Performance
A straightforward approach that tries all possible solutions. Suitable for small problems but can become impractical for larger ones due to high time complexity.
Brute force algorithm
Breaks a problem into smaller, similar subproblems and repeatedly applies itself until reaching a base case. Effective for tasks with recursive structures.
Recursive algorithm
Transforms data into a secure, unreadable form using cryptographic techniques, ensuring confidentiality and privacy.
Encryption algorithm
A trial-and-error technique that explores potential solutions by undoing choices when they lead to incorrect outcomes. Used in puzzles and optimization problems.
Backtracking algorithm
Finds a specific target within a dataset, enabling efficient information retrieval.
Searching algorithm
Arranges elements in a specific order, like numerical or alphabetical, to enhance data organization and retrieval.
Sorting algorithm
Converts data into a fixed-size hash value for rapid data access and retrieval.
Hashing algorithm
Breaks a complex problem into smaller subproblems, solves them independently, and combines their solutions to address the original problem.
Divide and conquer algorithm
Makes locally optimal choices at each step in the hope of finding a global optimum. Useful for optimization problems but may not always lead to the best solution.
Greedy algorithm
Stores and reuses intermediate results to avoid redundant computations, enhancing the efficiency of solving complex problems.
Dynamic programming algorithm
Utilizes randomness to achieve a solution, often used when an approximate or probabilistic answer is sufficient.
Randomized algorithm
Illustrate the general flow of a process and the relationships between components.
Process flow diagrams
Visualize how data is processed in an information system from input to output.
Data flow diagrams
Illustrate the steps involved to complete a task or execute a process efficiently.
Workflow diagrams
Visualize multiple flows of information or categories to clarify roles and responsibilities.
Swimlane flowcharts
(Also known as dichotomous keys) make it easy to visualize different paths based on yes/no decisions.
Yes/no flowcharts
Used at the start and end points of a flowchart.
Oval
Used to show the direction of information flow.
Arrow
Used to depict tasks or processes within a flowchart.
Rectangle
Used in data flow diagrams to represent input or output.
Parallelogram
Used in yes/no flowcharts to represent decisions.
Diamond
of commands that must be followed for a computer to perform calculations or other problem-solving operations
Algorithm
from the name of the great Central Asian scientist Abu Abdullah Muhammad ibn Moussa al-Khwarizmi.
Algorithm
1360, French philosopher Nicole Oresme wrote a mathematical treatise “blank”, in which he first used degrees with fractional exponents and actually came close to the idea of logarithms.
Algorismus proportionum
the abacus was replaced by the so-called account on the lines, numerous manuals on it began to be called “blank” - the rules of the account on the lines.
Algorithmus linealis
In 1684, Gottfried Leibniz, in the “Nova Methodvs pro maximis et minimis, itemque tangentibus …,” first used the word “blank” in an even broader sense: as a systematic way to solve the problems of differential calculus.
Algorithmo
Types of algorithms
- Brute Force Algorithm
- Recursive Algorithm
- Encryption Algorithm
- Backtracking Algorithm
- Searching Algorithm
- Sorting Algorithm
- Hashing Algorithm
- Divide and Conquer Algorithm
- Greedy Algorithm
- Dynamic Programming Algorithm
- Randomized Algorithm
Types of flowcharts
- Process Flow Diagrams
- Data Flow Diagrams
- Workflow Diagrams
- Swimlane Flowcharts
- Yes/No Flowcharts