some thoughts:<p>remove and add worst case complexity is O(mn) ! that is terrible, linked list should be able to do inserts and removes in O(1).<p>the test of appending is faster. but is it? I would offer that it's likely java doing some more datatype and bounds checking in their implementations, which is inline with the marginal speedup and relatively linear growth complexity. furthermore there are resize effects that will happen periodically as big malloc+move events.<p>worse case complexity seems incorrect for worse case search and access. assuming bins, you'd have to traverse the bin as well, so access should be O(m+n) .<p>but what about a remove test, or an actual search test?
this looks somewhat like a b-tree.