The Art of Machinery - Posts Tagged Computer ScienceComputer Science — Algorithms and data structures and other computational theory.
https://theartofmachinery.com/tags/compsci/
Why Sorting is O(N log N)<p>Any decent algorithms textbook will explain how fast sorting algorithms like quicksort and
heapsort are, but it doesn’t take crazy maths to prove that they’re as asymptotically fast as you can possibly
get.</p>
https://theartofmachinery.com/2019/01/05/sorting_is_nlogn.html
https://theartofmachinery.com/2019/01/05/sorting_is_nlogn.htmlSat, 05 Jan 2019 00:00:00 +0000Counting Sudoku Solution Grids using Monte Carlo<p>How many ways can you fill a 9x9 grid, obeying all the rules of the sudoku puzzle? The
answer is too big to just calculate directly on a computer, so an exact answer takes careful analysis. But if an
absolutely exact answer isn’t required, we can get a good statistical approximation using a Monte Carlo
algorithm. As a bonus, the algorithm doesn’t need any application-specific analysis and works on many other
problems, too. It’s a handy “stupid things that work” approach to solving problems.</p>
https://theartofmachinery.com/2017/08/14/monte_carlo_counting_sudoku_grids.html
https://theartofmachinery.com/2017/08/14/monte_carlo_counting_sudoku_grids.htmlMon, 14 Aug 2017 00:00:00 +0000Compression, Complexity and Software System Design<p>Information theory gives us a way to understand communication systems, by giving us a way
to understand what happens to information as it’s transmitted or re-encoded.</p> <p>We can also study
what happens to complexity in a software system as components depend on or interface each other. Just like we can
make rigorous arguments about how much information can be compressed, we can make arguments about how much
complexity can be simplified, and use this to make better choices when designing software
systems.</p>
https://theartofmachinery.com/2017/06/25/compression_complexity_and_software.html
https://theartofmachinery.com/2017/06/25/compression_complexity_and_software.htmlSun, 25 Jun 2017 00:00:00 +0000