Preface
FAQ
Guidelines for Contributing
Contributors
Part I - Basics
Basics Data Structure
String
Linked List
Binary Tree
Huffman Compression
Queue
Heap
Stack
Set
Map
Graph
Basics Sorting
Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Quick Sort
Heap Sort
Bucket Sort
Counting Sort
Radix Sort
Basics Algorithm
Divide and Conquer
Binary Search
Math
Greatest Common Divisor
Prime
Knapsack
Counting Problem
Probability
Shuffle
Bitmap
Basics Misc
Bit Manipulation
Part II - Coding
String
strStr
Two Strings Are Anagrams
Compare Strings
Anagrams
Longest Common Substring
Rotate String
Reverse Words in a String
Valid Palindrome
Longest Palindromic Substring
Space Replacement
Wildcard Matching
Length of Last Word
Count and Say
Integer Array
Remove Element
Zero Sum Subarray
Subarray Sum K
Subarray Sum Closest
Recover Rotated Sorted Array
Product of Array Exclude Itself
Partition Array
First Missing Positive
2 Sum
3 Sum
3 Sum Closest
Remove Duplicates from Sorted Array
Remove Duplicates from Sorted Array II
Merge Sorted Array
Merge Sorted Array II
Median
Partition Array by Odd and Even
Kth Largest Element
Binary Search
Binary Search
Search Insert Position
Search for a Range
First Bad Version
Search a 2D Matrix
Search a 2D Matrix II
Find Peak Element
Search in Rotated Sorted Array
Search in Rotated Sorted Array II
Find Minimum in Rotated Sorted Array
Find Minimum in Rotated Sorted Array II
Median of two Sorted Arrays
Sqrt x
Wood Cut
Math and Bit Manipulation
Single Number
Single Number II
Single Number III
O1 Check Power of 2
Convert Integer A to Integer B
Factorial Trailing Zeroes
Unique Binary Search Trees
Update Bits
Fast Power
Hash Function
Count 1 in Binary
Fibonacci
A plus B Problem
Print Numbers by Recursion
Majority Number
Majority Number II
Majority Number III
Digit Counts
Ugly Number
Plus One
Linked List
Remove Duplicates from Sorted List
Remove Duplicates from Sorted List II
Remove Duplicates from Unsorted List
Partition List
Add Two Numbers
Two Lists Sum Advanced
Remove Nth Node From End of List
Linked List Cycle
Linked List Cycle II
Reverse Linked List
Reverse Linked List II
Merge Two Sorted Lists
Merge k Sorted Lists
Reorder List
Copy List with Random Pointer
Sort List
Insertion Sort List
Palindrome Linked List
Delete Node in the Middle of Singly Linked List
LRU Cache
Rotate List
Swap Nodes in Pairs
Remove Linked List Elements
Binary Tree
Binary Tree Preorder Traversal
Binary Tree Inorder Traversal
Binary Tree Postorder Traversal
Binary Tree Level Order Traversal
Binary Tree Level Order Traversal II
Maximum Depth of Binary Tree
Balanced Binary Tree
Binary Tree Maximum Path Sum
Lowest Common Ancestor
Invert Binary Tree
Diameter of a Binary Tree
Construct Binary Tree from Preorder and Inorder Traversal
Construct Binary Tree from Inorder and Postorder Traversal
Subtree
Binary Tree Zigzag Level Order Traversal
Binary Tree Serialization
Binary Search Tree
Insert Node in a Binary Search Tree
Validate Binary Search Tree
Search Range in Binary Search Tree
Convert Sorted Array to Binary Search Tree
Convert Sorted List to Binary Search Tree
Binary Search Tree Iterator
Exhaustive Search
Subsets
Unique Subsets
Permutations
Unique Permutations
Next Permutation
Previous Permuation
Permutation Index
Permutation Index II
Permutation Sequence
Unique Binary Search Trees II
Palindrome Partitioning
Combinations
Combination Sum
Combination Sum II
Minimum Depth of Binary Tree
Word Search
Dynamic Programming
Triangle
Backpack
Backpack II
Minimum Path Sum
Unique Paths
Unique Paths II
Climbing Stairs
Jump Game
Word Break
Longest Increasing Subsequence
Palindrome Partitioning II
Longest Common Subsequence
Edit Distance
Jump Game II
Best Time to Buy and Sell Stock
Best Time to Buy and Sell Stock II
Best Time to Buy and Sell Stock III
Best Time to Buy and Sell Stock IV
Distinct Subsequences
Interleaving String
Maximum Subarray
Maximum Subarray II
Longest Increasing Continuous subsequence
Longest Increasing Continuous subsequence II
Egg Dropping Puzzle
Maximal Square
Graph
Find the Connected Component in the Undirected Graph
Route Between Two Nodes in Graph
Topological Sorting
Word Ladder
Bipartial Graph Part I
Data Structure
Implement Queue by Two Stacks
Min Stack
Sliding Window Maximum
Longest Words
Heapify
Kth Smallest Number in Sorted Matrix
Problem Misc
Nuts and Bolts Problem
String to Integer
Insert Interval
Merge Intervals
Minimum Subarray
Matrix Zigzag Traversal
Valid Sudoku
Add Binary
Reverse Integer
Gray Code
Find the Missing Number
N Queens
N Queens II
Minimum Window Substring
Continuous Subarray Sum
Continuous Subarray Sum II
Longest Consecutive Sequence
Part III - Contest
Google APAC
APAC 2015 Round B
Problem A. Password Attacker
APAC 2016 Round D
Problem A. Dynamic Grid
Microsoft
Microsoft 2015 April
Problem A. Magic Box
Problem B. Professor Q's Software
Problem C. Islands Travel
Problem D. Recruitment
Microsoft 2015 April 2
Problem A. Lucky Substrings
Problem B. Numeric Keypad
Problem C. Spring Outing
Microsoft 2015 September 2
Problem A. Farthest Point
Appendix I Interview and Resume
Interview
Resume
Appendix II System Design
The System Design Process
Statistics
System Architecture
Scalability
Tags
本書使用 GitBook 釋出
Bucket Sort
Bucket Sort
桶排序和合併排序有那麼點點類似,也使用了合併的思想。大致步驟如下:
設置一個定量的數組當作空桶。
Divide - 從待排序數組中取出元素,將元素按照一定的規則塞進對應的桶子去。
對每個非空桶進行排序,通常可在塞元素入桶時進行插入排序。
Conquer - 從非空桶把元素再放回原來的數組中。
Reference
Bucket Sort Visualization
- 動態示例。
桶排序 - 維基百科,自由的百科全書
results matching "
"
powered by
No results matching "
"