Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Finding the Shortest Element in an Array

by haoess (Curate)
on Oct 13, 2005 at 20:07 UTC ( [id://500031]=note: print w/replies, xml ) Need Help??


in reply to Finding the Shortest Element in an Array

@array = qw( hello, superduper, hi )

Maybe it's a mistake, but this creates a list containing three comma ending strings.

For your algorithm you should have a look at the implementation of minmax in List::MoreUtils. It should be simple to adjust it to check for the length of a string. The documentation says:

The minmax algorithm differs from a naive iteration over the list where each element is compared to two values being the so far calculated min and max value in that it only requires 3n/2 - 2 comparisons. Thus it is the most efficient possible algorithm.

--Frank

Replies are listed 'Best First'.
Re^2: Finding the Shortest Element in an Array
by Limbic~Region (Chancellor) on Oct 13, 2005 at 20:32 UTC
    haoess,
    Actually, using List::Util's 'reduce' would be better. The minmax algorithm is doing more work then it needs because it is trying to identify both the min and the max where here only the min is desired. So in addition to List::Util being part of the core, it is also XS in most environments and implements the watermark algorithm which for this is much more efficient than 'minmax';

    Cheers - L~R

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://500031]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (3)
As of 2024-04-20 02:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found