If I am doing dict unset, what is the average order of complexity?
 I am really crossing my fingers for O(1).
Thanks
            Asked
            
        
        
            Active
            
        
            Viewed 345 times
        
    2
            
            
         
    
    
        user1134991
        
- 3,003
- 2
- 25
- 35
1 Answers
3
            Tcl's dict is internally implemented as a hashtable. The command:
dict unsetremoves a key and its associated value from a dictionary of dictionaries.
Therefore it is in worst case O(n).
With an average of O(1).
 
    
    
        Dimitar
        
- 4,402
- 4
- 31
- 47
- 
                    1Thanks. That is what i have guessed and hoped for, but could not be certain of. – user1134991 Jan 29 '16 at 14:59
- 
                    Possibly of interest to readers of this answer: [Hash table runtime complexity (insert, search and delete)](http://stackoverflow.com/questions/9214353/hash-table-runtime-complexity-insert-search-and-delete) – dfrib Jan 30 '16 at 02:34
- 
                    1You'd only get O(n) with very carefully crafted dictionaries. You can use `dict info` to analyse the time to look up a key and its entry. (There is, of course, a constant amount of work to delete the entry once it has been found.) – Donal Fellows Jan 31 '16 at 08:44