Theory of Computation & Computational Models

When solving problems in computer science, it can help to abstract the problem to gain a better understanding of what we can possibly achieve. This can especially be seen when analyzing algorithms since we usually care more about how algorithms would perform on abstract computers (machines) rather than specific hardware. Computation any type of calculation that may include both arithmetical & non-arithmetical steps to provide a solution to a problem. Computational Models abstract models that allow us to reason about what can and can’t possibly be computed by a particular device....

November 27, 2023 · 3 min · 545 words · Xavier Loera Flores

Primality Testing

RSA Algorithm Rivest-Shamir-Aldeman Algorithm an asymmetric cryptography algorithm utilizes public and private generated from large prime numbers used to encrypt and decrypt data. The public key consists of two numbers where one number is a multiplication of two prime numbers. The private key is also derived from the same two prime numbers meaning if the public key primes are compromised, then so is the private key. Φ Φ(Phi) counts the number of numbers that are less than or equal to n and only share the factor of 1 with n Geeks for Geeks example: Geek For Geeks: RSA Algorithm Cryptography...

November 25, 2023 · 2 min · 406 words · Xavier Loera Flores

Division Algorithm

Integer Division Integer division is a division operation that falls under number theory, a branch of math that is concerned with studying the properties of integers. In integer division, both the inputs and the output are integers resulting in being able to find an integer quotient and an integer remainder given two other integers. Divides For 2 integers $x$ and $y$, if there is an integer $k$ such that $y=kx$, then $x$ divides, $y$ is a multiple of $x$, $x$ is a factor/divisor of $y$....

November 17, 2023 · 2 min · 368 words · Xavier Loera Flores

Big O, Omega, & Theta

Big O Big O is used to to represent the general asymptotic growth of an algorithm. These algorithms are measured as a factor of O(n). When representing a function in Big O, it is common to leave out any constant factors of n as well as any other constant atomic operations. A function that runs in $3n^2 + 5$ will be represented as $O(n^2)$ since we only care about the asymptotic growth of a function....

November 17, 2023 · 1 min · 203 words · Xavier Loera Flores