Bucket Sort - How to Succeed in Algorithms Interview


Bucket Sort - How to Succeed in Algorithms Interview

How to Succeed in Algorithms Interview Series


Buckets

  • fixed window size: k
  • find min or max diff between adjacent elements
  • the max size/frequency is limited, less than array size etc
  • when optimize to O(n)
  • 分桶; 统计
  • map a range of values to the a bucket
  • check elements in the same bucket or previous/next bucket
  • Pigeon hole principle
    • if nn items are put into mm containers, with n>m, then at least one container must contain more than one item.

Implementation Detail

List<List<Integer>> bucket = new ArrayList<>(size);
List<Integer>[] bucket = new List[nums.length+1];
// or use map
Map<Integer, List<Character>> map = new HashMap<>();

Simple

Hard Examples

Labels

adsense (5) Algorithm (69) Algorithm Series (35) Android (7) ANT (6) bat (8) Big Data (7) Blogger (14) Bugs (6) Cache (5) Chrome (19) Code Example (29) Code Quality (7) Coding Skills (5) Database (7) Debug (16) Design (5) Dev Tips (63) Eclipse (32) Git (5) Google (33) Guava (7) How to (9) Http Client (8) IDE (7) Interview (88) J2EE (13) J2SE (49) Java (186) JavaScript (27) JSON (7) Learning code (9) Lesson Learned (6) Linux (26) Lucene-Solr (112) Mac (10) Maven (8) Network (9) Nutch2 (18) Performance (9) PowerShell (11) Problem Solving (11) Programmer Skills (6) regex (5) Scala (6) Security (9) Soft Skills (38) Spring (22) System Design (11) Testing (7) Text Mining (14) Tips (17) Tools (24) Troubleshooting (29) UIMA (9) Web Development (19) Windows (21) xml (5)