Add Skip Lists #60
Labels
No labels
bug
discussion
documentation
duplicate
ignore
new feature
question
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
golibs/gms-gods#60
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I think it would be useful to have skip lists included in the GoDS collection.
I previously studied the publicly available Go skip list implementations and found some issues with each. I then created a very fast, threadsafe skip list of my own (under MIT license). I believe it is one of the best foundations to work from for this data structure and can easily be integrated into GoDS.
If you like, I can work on a pull request to include my skip list implementation with the appropriate interface. First, I wanted to make sure this would be useful and to ask what specific details I should watch for / include to ensure smooth compatibility.
Any new data structure is a good addition to GoDS, so I might use parts of your code as inspiration to create SkipLists.
Regarding thread-safety, GoDS tries to keep its hands clean from that problem and that should be handled on another abstaction level with mutex or whichever... repeat #68 #84 (also noted in the documentation and comments)
@sean-public i took a brief look at your implementation and testing various implementations. i think you have done a good job and would like to move from there.
however, two things i would change due to nature of GoDS which despite trying to stay un-opinionated, things took a path.
do these two suggestions sound reasonable?
@sean-public May I help with this
It has been a few years, let me review everything and get back to you.