title: Time complexity when have composite data type such as tuple or pair?
body: <p>In Hash map data structure such as unordered_map in C++:</p>
  <pre><code> unodered_map&lt;char, int&gt; mp = { {'a', 10}, {'b', 20} };
   if (mp.find('a') != mp.end())
       cout &lt;&lt; &quot;found you&quot;;
  </code></pre>
  <p>we know find() method takes constant time. but if I have composite data as the key:</p>
  <pre><code> unodered_map&lt;tuple&lt;char, string, int&gt;, int&gt; mp = { {'a', &quot;apple&quot;, 10}, 100};
   if (mp.find( {'a', &quot;apple&quot;, 10} ) != mp.end())
       cout &lt;&lt; &quot;found you&quot;;
  </code></pre>
  <p>Will the find() method still take constant time? how to evaluate the time complexity now?</p>