Changes
1 changed files (+2/-2)
-
-
@@ -12,6 +12,6 @@ If you're wondering where the name came from, I named this app after a common type of flash card. 😀## Performance SD is designed to be extremely efficient in order to support a very large number of flash cards and should be able to handle several billion cards with ease. If `N` is the number of cards, initializing the program requires `O(N)` time and `O(N)` memory. Selecting a random card and adjusting its weight based on if the user got it correct requires `O(log N)` time. SD is designed to be extremely efficient in order to support a very large number of flash cards and should be able to handle several billion cards with ease. If `N` is the number of cards, initializing the program requires `O(N)` time and `O(N)` memory. Selecting a random card and adjusting its weight based on if the user got it correct requires `O(log N)` time. Internally SD uses [segment trees](https://en.wikipedia.org/wiki/Segment_tree) to achieve this time complexity. A C port is planned but will probably never happen. A C port for maximal speed and minimal executable size is planned but will probably never happen.
-