General Permutations: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 28: | Line 28: | ||
|} | |} | ||
== Time Complexity | == Time Complexity Graph == | ||
[[File:Generating Random Permutations - General Permutations - Time.png|1000px]] | [[File:Generating Random Permutations - General Permutations - Time.png|1000px]] | ||
== Space Complexity | == Space Complexity Graph == | ||
[[File:Generating Random Permutations - General Permutations - Space.png|1000px]] | [[File:Generating Random Permutations - General Permutations - Space.png|1000px]] | ||
== Pareto | == Pareto Frontier Improvements Graph == | ||
[[File:Generating Random Permutations - General Permutations - Pareto Frontier.png|1000px]] | [[File:Generating Random Permutations - General Permutations - Pareto Frontier.png|1000px]] |
Revision as of 13:04, 15 February 2023
Description
Given an input string/array, generate a single random permutation of the characters/elements of the string/array.
Related Problems
Related: Cyclic Permutations
Parameters
n: number of elements
Table of Algorithms
Name | Year | Time | Space | Approximation Factor | Model | Reference |
---|---|---|---|---|---|---|
Fisher–Yates/Knuth shuffle | 1938 | $O(n^{2})$ | $O(n)$ | Exact | Randomized | Time |
Durstenfeld's Algorithm 235 | 1964 | $O(n)$ | $O({1})$ | Exact | Randomized | Time |
Radix sorting method | 1887 | $O(n)$ | $O(n)$ | Exact | Randomized |