Gunnar Kudrjavets - The out-shuffle problem: solutions and acknowledgments



First of all I would like to thank everyone who shared their solutions for out-shuffle problem with the rest of us and submitted any comments related to this problem. Looking back in time it was actually three years ago when we tried to find an efficient answer to this particular programming challenge. After we were puzzled and didn’t make any progress for some time I contacted the most knowledgeable person in my circle of acquaintances when it comes to algorithms and data structures. His name is Ahto Truu and he is GodOfAlgorithmsAndDataStructures ;-)

Ahto writes regular column about programming puzzles for one of the Estonian IT magazines and as a natural result he composed an article about this particular problem. The original article in Estonian is published here. On Monday Ahto sent me an updated English translation of this article. The PDF file can be downloaded from here. Here’s the table of contents:

  • The Problem
  • The Setup
  • A Memory-Hungry Solution
  • A Time-Hungry Solution
  • A Divide’n’Conquer Solution
  • A Combinatorial Solution
  • Acknowledgments

As also pointed out in Ahto’s article, this paper by Ellis, Krahn, and Fan describes an algorithm that solves out-shuffle problem in O(N) time and O(log N) space.


Read full article from Gunnar Kudrjavets - The out-shuffle problem: solutions and acknowledgments


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