CS140-lecture-20211027 variable length encoding huffman codes minimum spanning tree kruskal's algorithm prim's algorithm