N = 5 - number of small tables H = 100 rows -size of the small tables K = 10000 rows - size of the big table for(1..5){ # of those smaller ones for(1..100){ # number of steps i do when iterating through the smal table for(1..10000){ # number of steps i do when iterating through big table //select a row } } } so \theta(NHK) is the complexity for that algorithm(?) #### value table ----- ----- %hash = (str1 => 1, str2 => 1, ... str100 => 1, str101 => 2, str102 => 2, ...); #### for (1..5){ # hash tha data from smalo tables } while(1..10000){ # crosscheck with hash } so what i got is \theta(NH+K)