[{"data":1,"prerenderedAt":87},["ShallowReactive",2],{"subject:theory-of-computation":3,"nav:theory-of-computation":30,"course-wordcounts":31},{"id":4,"title":5,"blurb":6,"body":7,"description":14,"extension":15,"meta":16,"module":11,"navigation":17,"path":18,"practice":19,"rawbody":20,"readingTime":21,"seo":24,"sources":25,"status":26,"stem":27,"summary":11,"topics":28,"__hash__":29},"course\u002F02.theory-of-computation\u002Findex.md","Theory of Computation","Automata, formal languages, computability, and complexity — what can be computed, and how hard it is.",{"type":8,"value":9,"toc":10},"minimark",[],{"title":11,"searchDepth":12,"depth":12,"links":13},"",2,[],"Finite automata and regular languages, context-free grammars and pushdown automata, Turing machines and decidability, and the foundations of complexity theory. Notes for this subject are coming soon.","md",{},true,"\u002Ftheory-of-computation",[],"---\ntitle: Theory of Computation\nstatus: placeholder\nblurb: >-\n  Automata, formal languages, computability, and complexity — what can be\n  computed, and how hard it is.\ndescription: >-\n  Finite automata and regular languages, context-free grammars and pushdown\n  automata, Turing machines and decidability, and the foundations of complexity\n  theory. Notes for this subject are coming soon.\n---\n",{"text":22,"minutes":23,"time":23,"words":23},"0 min read",0,{"title":5,"description":14},[],"placeholder","02.theory-of-computation\u002Findex",[],"i7UV5oW4ZepvME-1wdZnGsVn0YRjPNzqCeO0T2V67x4",[],{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":32,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":33,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":34,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":35,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":36,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":37,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":38,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":39,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":40,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":41,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":42,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":43,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":44,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":45,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":46,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":47,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":48,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":49,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":50,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":51,"\u002Falgorithms\u002Fsequences\u002Ftries":52,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":53,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":54,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":55,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":56,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":57,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":58,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":59,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":60,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":61,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":62,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":63,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":64,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":65,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":66,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":67,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":68,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":69,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":70,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":71,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":72,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":73,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":74,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":75,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":76,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":77,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":78,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":48,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":79,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":80,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":81,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":82,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":64,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":83,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":84,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":44,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":85,"\u002Falgorithms":86,"\u002Ftheory-of-computation":23,"\u002Fcomputer-architecture":23,"\u002Fphysical-computing":23,"\u002Fdatabases":23,"\u002Fdeep-learning":23},1763,2107,1738,2628,1723,2048,1697,1044,1542,1565,1679,1586,1388,1465,1971,1455,1533,1483,1578,1791,1481,2704,1658,2070,1978,2080,1568,1451,1291,1543,1883,1443,1599,2038,2241,1744,1678,2288,1929,1657,1412,1554,1418,1713,1798,1694,1762,1534,1595,1262,1495,1630,2306,2142,107,1781526651301]