The Fake Geek's blog: Scala note 4: Huffman Coding



The Fake Geek's blog: Scala note 4: Huffman Coding

Scala note 4: Huffman Coding This post is based on Coursera's Scala course homework for week 4 and week 5. The whole problem can be found here . Some notes: Case classes : they are regular classes which export their constructor parameters and which provide a recursive decomposition mechanism via pattern matching. Pattern matching: allows to match on any sort of data with a first-match policy. List.groupBy : Partitions this traversable collection into a map of traversable collections according to some function. /: or folderLeft : applying a binary operator to a start value and all elements of this sequence, going left to right. z /: xs is the same as xs foldLeft z Map.getOrElse(default value): Returns the value associated with a key, or a default value if the key is not contained in the map. List.sortBy: sorts the sequence according to the Ordering which results from transforming an implicitly given Ordering with a transform function. List.flatMap:

Read full article from The Fake Geek's blog: Scala note 4: Huffman Coding


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts