diff options
author | Anthony Wang | 2022-03-28 21:18:08 -0500 |
---|---|---|
committer | Anthony Wang | 2022-03-28 21:18:08 -0500 |
commit | 82cca1a6c31fd05dcef268010c8eaff80cbc6de3 (patch) | |
tree | 01267699311b0fceda573de3fa206afe7277f0f3 | |
parent | 46c565b6195f5ef14fa4602c46fa0da1a43ad1bb (diff) |
Add note about segment trees to README
-rw-r--r-- | README.md | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -12,6 +12,6 @@ If you're wondering where the name came from, I named this app after a common ty ## 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. |