Which jQuery selection is "efficient"?

Which jQuery selection is "efficient"?

Hello, there was a debate amongst my developer circle about which selection is more efficient.

Given this markup:
<div id="menu">
        <li>a</li>
        <li>b</li>
        <li>c</li>
        <li>d</li>
        <li>e</li>
        <li>f</li>
</div>

Which of these is more efficient (faster), if at all?
$("#menu li").hover();
$("#menu li").live();
$("#menu li").getJSON();
or
var pointer = $("#menu");
pointer.find("li").hover();
pointer.find("li").live();
pointer.find("li").getJSON();

I was told that $("#menu li") is less efficient, because jQuery has to scan the entire DOM each time it see the selector.  In other words, it scans all the li tags, then the ones that are descendants of #menu. So if $("#menu li") was repeated in the document, it would constantly do this.  By providing a pointer to #menu, however, we are anchoring at a specific place in the DOM to start the search.  Is this correct?

Can anybody provide some insight into this or point to a URL that explains this?  Thank you.