Proof of Kruskal's Minimum Spanning Tree Algorithm
Easy Theory
Here we do a different video than usual, about algorithms! We show that Kruskal's Minimum Spanning Tree Algorithm is correct. (A tree is a graph without cycles, and spanning means every vertex is included. Minimum means of total minimum weight.) The idea is to think of each vertex as an "island", and that we are always maintaining islands (via merging), and islands always contain a tree.
Patreon: https://www.patreon.com/easytheory Twitch: https://www.twitch.tv/easytheory Mixer: https://mixer.com/easytheory Discord: https://discord.gg/SD4U3hs Facebook: https://www.facebook.com/easytheory/ Twitter: https://twitter.com/EasyTheory Teespring: https://teespring.com/pumping-lemma-for-regular-lang
If you like this content, please consider subscribing to my channel: https://www.youtube.com/channel/UC3VY6RTXegnoSD_q446oBdg?sub_confirmation=1
▶ADDITIONAL QUESTIONS◀
- What if we select edges from maximum weight going downwards? What is the resulting tree?
- What is the run-time of this algorithm?
▶SEND ME THEORY QUESTIONS◀ ryan.e.dougherty@icloud.com
▶ABOUT ME◀ I am a professor of Computer Science, and am passionate about CS theory. I have taught over 12 courses at Arizona State University, as well as Colgate University, including several sections of undergraduate theory.
▶ABOUT THIS CHANNEL◀ The theory of computation is perhaps the fundamental theory of computer science. It sets out to define, mathematically, what exactly computation is, what is feasible to solve using a computer, and also what is not possible to solve using a computer. The main objective is to define a computer mathematically, without the reliance on real-world computers, hardware or software, or the plethora of programming languages we have in use today. The notion of a Turing machine serves this purpose and defines what we believe is the crux of all computable functions.
This channel is also about weaker forms of computation, concentrating on two classes: regular languages and context-free languages. These two models help understand what we can do with restricted means of computation, and offer a rich theory using which you can hone your mathematical skills in reasoning with simple machines and the languages they define.
However, they are not simply there as a weak form of computation--the most attractive aspect of them is that problems formulated on them are tractable, i.e. we can build efficient algorithms to reason with objects such as finite automata, context-free grammars and pushdown automata. For example, we can model a piece of hardware (a circuit) as a finite-state system and solve whether the circuit satisfies a property (like whether it performs addition of 16-bit registers correctly). We can model the syntax of a programming language using a grammar, ... https://www.youtube.com/watch?v=DT0JvmVLlw4
110110834 Bytes