new file: docs/notes/merkle_patricia_dag.md

new file:   docs/pandoc_templates/vscode.css
modified:   libsodium
modified:   wxWidgets
This commit is contained in:
reaction.la 2022-09-18 22:17:36 +10:00
parent 3f196cc5b3
commit 320f5bd962
No known key found for this signature in database
GPG Key ID: 99914792148C8388
4 changed files with 28 additions and 2 deletions

View File

@ -0,0 +1,23 @@
---
title:
Big Circ notation
# katex
...
The definition of $\bigcirc$ used by mathematicians is not convenient for engineers.
So in practice we ignore that definition and use our own.
The mathematical definition is, roughly, that if $f(n)=\bigcirc\big(g(n)\big)$ then $f(n)$ grows no faster than $g(n)$, that there exists some value K such that for values of $n$ of interest and larger than of interest $f(n)\le Kg(n)$
Which is kind of stupid for engineers, because by that definition an algorithm that takes time $\bigcirc(n)$ also takes time $\bigcirc(n^2)$, $\bigcirc(n!)$, etcetera.
So, Knuth defined $\large\Omega$, which means, roughly, that there exists some value K such that for values of $n$ of interest and larger than of interest $f(n)\ge Kg(n)$
Which is also stupid for the same reason.
So what all engineers do in practice is use $\bigcirc$ to mean that the mathematical definition of $\bigcirc$ is true, *and* Knuths definition of $\large\Omega$ is also largely true, so when we say that an operation take that much time, we mean that it takes no more than that much time, *and frequently takes something like that much time*.
So, by the engineer's definition of $\bigcirc$, if an algorithm takes $\bigcirc(n)$ time it does *not* take $\bigcirc(n^2)$ time.
Which is why we never need to use Knuth's $\large\Omega$

View File

@ -0,0 +1,3 @@
body {
font-size: 85%;
}

@ -1 +1 @@
Subproject commit 012e892841ed6edc521f88a23b55863c7afe4622
Subproject commit 8cbcc3ccccb035b1a976c053ab4de47b7f0b9352

@ -1 +1 @@
Subproject commit 8880bc88ff6c2cfcd72c3fcd3ef532b5470b2103
Subproject commit 2648eb4da156a751a377cfe96b91faa03e535c10