Commit Graph

56 Commits

Author SHA1 Message Date
Benjamin Scher Purcell
08df807efe speed up redblack put performance 2017-04-06 11:33:07 -05:00
Emir Pasic
7eadb02f45 - all trees (de)serialization 2017-03-06 04:18:23 +01:00
Emir Pasic
196706bb29 - set key to key if direct match when inserting into red-black tree. fixes the issue when the key is a struct type, which is how treeset uses the red-black tree #31 2016-09-07 03:19:20 +02:00
Emir Pasic
efcbbe6274 - detailed extensive tests with breakdown on number of elements 2016-07-16 04:40:16 +02:00
Emir Pasic
eecaef5625 - btree Height() and String() implementations 2016-07-10 05:16:02 +02:00
Emir Pasic
19bf8e5c15 - remove inOrder function in red-black tree and use iterator 2016-07-09 04:10:02 +02:00
Emir Pasic
213367f1ca - replace long bsd text with short in all .go files 2016-06-27 04:21:09 +02:00
Emir Pasic
20229603ab - refactor all iterators and enumerables into separate files 2016-06-27 04:02:52 +02:00
Emir Pasic
02f40db0cf - test iterator end on reverse-iterable data structures
- fix red-black tree
2016-06-27 02:42:05 +02:00
Emir Pasic
f052c96069 - iterator end on reverse-iterable data structures 2016-06-27 00:41:32 +02:00
Emir Pasic
57162feff5 - rename Reset() to Begin() in iterators (this will allow End() which will make reverse loops more readable) 2016-06-27 00:08:01 +02:00
Emir Pasic
cbc23a5b79 - test iterator first on all iterable data structures 2016-06-26 23:58:23 +02:00
Emir Pasic
bdfeab4912 - iterator first on all structures with reversible iterators 2016-06-26 22:50:14 +02:00
Emir Pasic
3d1014bf63 - test iterator last on all structures with reversible iterators 2016-06-26 22:40:49 +02:00
Emir Pasic
f8b0747409 - iterator last on all structures with reversible iterators 2016-06-26 22:27:08 +02:00
Emir Pasic
3a938233a0 - test iterator reset on all structures 2016-06-26 21:44:23 +02:00
Emir Pasic
b86d413e66 - iterator reset on all structures 2016-06-26 20:50:49 +02:00
Emir Pasic
eb4bb224e3 - add reversible iterators to tree set and tree map 2016-06-25 21:01:33 +02:00
Emir Pasic
178bc76d62 - add reversible iterators to red-black tree 2016-06-25 20:45:43 +02:00
Emir Pasic
59bebe43ce - update all documentation to be in godoc style 2016-06-25 17:02:21 +02:00
Emir Pasic
ef9baa808a - golint 2016-06-24 21:52:16 +02:00
Emir Pasic
ab6656e286 - refactor trees' tests 2016-06-24 20:23:54 +02:00
Emir Pasic
8cb4635c2c - code document all enumarable functions and iterators in containers 2016-06-24 00:08:04 +02:00
Emir Pasic
e4c3d8a0d8 - split iterators into two type (iterator with index and iterator with key) 2016-06-22 19:59:08 +02:00
Emir Pasic
255a3095cb - add iterator to redblack tree 2016-06-22 19:47:24 +02:00
Emir Pasic
3b3edfc539 - naming conventions (calling interfaces by what they are) 2016-06-22 03:09:48 +02:00
Emir Pasic
d13e3d6b6a - Add Left(), Right(), Floor() and Ceiling() function to the red black tree with test and documentation update 2016-06-13 00:52:16 +02:00
Emir Pasic
160299d0f7 - fix spelling mistake everywhere (expacted -> expected) and go vet/fmt 2016-06-12 15:04:33 +02:00
Vlad Alexandru Ionescu
6bfa9f318d Add ability to get leftmost (minimum) and rightmost (maximum) keys in treemap. 2016-04-19 21:38:32 +01:00
Emir Pasic
60c53a79f0 - expose Comparator in redblacktree and include @otnt changes 2016-03-28 07:54:17 +02:00
Emir Pasic
7ecff11d2d - revert, build failing 2016-03-28 07:17:39 +02:00
Emir Pasic
35539c048b Merge pull request #4 from otnt/master
Add Ceiling and Floor functions to redblacktree
2016-03-28 07:01:54 +02:00
Emir Pasic
351cf24f70 expose comparator in redblacktree 2016-03-28 06:57:04 +02:00
otnt
5b1fc47581 move Ceiling and Floor function to redblacktreeextend 2016-03-27 21:42:00 -04:00
otnt
9ad5e914f6 modify comment 2016-03-27 01:53:17 -04:00
otnt
f7f48e7628 add ceiling and floor function to redblacktree 2016-03-27 01:51:09 -04:00
Emir Pasic
8dab13c925 - expose the root of the red-black tree to allow custom tree traversal 2016-03-23 05:40:01 +01:00
Emir Pasic
48ad2d72e6 go vetting 2015-03-10 22:19:32 +01:00
emirpasic
be9edcef3c - creating a common containers interface for all data structures 2015-03-07 19:23:43 +01:00
emirpasic
3aa0eeddfb ArrayList addition (inc. test, example and documentation) 2015-03-07 17:09:47 +01:00
emirpasic
a2f7d2482e switching to BSD-style license [http://www.reddit.com/r/golang/comments/2y2x5v/gods_data_structures_for_go/cp6a90n] 2015-03-06 17:10:34 +01:00
Emir Pasic
fae29a732d red-black tree Clear() method 2015-03-05 15:05:12 +01:00
Emir Pasic
a2b057ed41 red-black tree, get keys and values in-order (with tests) 2015-03-05 14:37:28 +01:00
Emir Pasic
2ac9c4d384 - implemented linke list stack - minor changes on other libs - tests included 2015-03-05 06:55:53 +01:00
Emir Pasic
14efefae45 - unexporting node struct and color constants (keeping the lib clean) 2015-03-05 05:27:36 +01:00
Emir Pasic
e04668c20d - adding Size() method to the redblacktree (tests) 2015-03-05 05:20:39 +01:00
Emir Pasic
3ba3ce1b0e - adding Size() method to the redblacktree 2015-03-05 05:20:10 +01:00
Emir Pasic
e77265b5a1 - updating red-black tree tests for removal 2015-03-05 04:16:28 +01:00
Emir Pasic
ca8727c91c - adding save color(node) function to guard against nil-nodes 2015-03-05 04:15:29 +01:00
Emir Pasic
8e21214018 - fix in insertion (break breaks the wrong thing) 2015-03-05 01:18:24 +01:00