I want to implement a Set in C. Is it OK to use a linked list, when creating the SET, or should I use another approach ?
How do you usually implement your own set (if needed).
NOTE: If I use the Linked List approach, I will probably have the following complexities for Set my operations:
- init : O(1);
- destroy: O(n);
- insert: O(n);
- remove: O(n);
- union: O(n*m);
- intersection: O(n*m);
- difference: O(n*m);
- ismember: O(n);
- issubset: O(n*m);
- setisequal: O(n*m);
O(n*m) seems may be a little to big especially for huge data... Is there a way to implement my Set more efficient ?