Re: Re: Re: Another question on lists
- To: mathgroup at smc.vnet.net
- Subject: [mg80720] Re: [mg80711] Re: [mg80641] Re: [mg80618] Another question on lists
- From: DrMajorBob <drmajorbob at bigfoot.com>
- Date: Thu, 30 Aug 2007 02:30:49 -0400 (EDT)
- References: <27088617.1188205442155.JavaMail.root@m35> <200708280603.CAA14009@smc.vnet.net> <11155728.1188404471045.JavaMail.root@m35> <op.txt02ysvqu6oor@monster.gateway.2wire.net> <26602305.1188412032980.JavaMail.root@m35>
- Reply-to: drmajorbob at bigfoot.com
I tried to verify that, but didn't get very far... since getting a list of lists takes SEVERAL orders of magnitude more time than finding its longest sublist. That's probably true no matter how the lists are found, generated, read from a file, etc. Bobby On Wed, 29 Aug 2007 12:51:58 -0500, Carl Woll <carlw at wolfram.com> wrote: > DrMajorBob wrote: > >> So the simplest method is >> >> Last@Sort@sample > > Except that Sort[sample] is an O(n log n) operation, and > Ordering[sample, -1] is an O(n) operation. > > Carl > >> >> Bobby >> >> On Wed, 29 Aug 2007 03:24:08 -0500, Carl Woll <carlw at wolfram.com> wrote: >> >>> DrMajorBob wrote: >>> >>>> Here's an example: >>>> >>>> sample = Array[ >>>> RandomInteger[{1, 10}, {RandomInteger[{3, 10}]}] &, {15}] >>>> Length /@ % >>>> >>>> {{5, 7, 7, 1, 2, 5, 2, 7, 3}, {3, 4, 3, 8, 8}, {1, 4, 6, 6, 1, 6, >>>> 3}, {4, 6, 1, 9, 9, 7, 3, 5, 10}, {9, 1, 4, 2, 7, 1, 5}, {2, 8, 2 , >>>> 4, 7, 3, 8}, {2, 10, 4, 7, 2, 10, 3}, {10, 5, 10, 6, 5, 10, 4, 3, >>>> 4}, {5, 2, 3, 10, 8}, {5, 1, 7}, {1, 5, 8, 4, 8, 5, 8, 2}, {3, 3, 8, >>>> 5, 1, 7}, {6, 10, 1, 6, 3, 5, 7, 6, 1, 7}, {3, 5, 1, 6, 6}, {10, >>>> 10, 9, 3, 9}} >>>> >>>> {9, 5, 7, 9, 7, 7, 7, 9, 5, 3, 8, 6, 10, 5, 5} >>>> >>>> Last@SortBy[sample, Length] >>>> >>>> {6, 10, 1, 6, 3, 5, 7, 6, 1, 7} >>>> >>>> or >>>> >>>> sample[[Ordering[sample, -1, Length[#1] < Length[#2] &]]] >>>> >>>> {{6, 10, 1, 6, 3, 5, 7, 6, 1, 7}} >>>> >>>> >>> Just a minor comment that the third argument of Ordering is not needed >>> in this case, since the default order used sorts by length of list >>> first. Try: >>> >>> sample[[Ordering[sample,-1]]] >>> >>> instead. >>> >>> Carl Woll >>> Wolfram Research >>> >>>> Bobby >>>> >>>> On Sun, 26 Aug 2007 22:20:22 -0500, Mauricio Esteban Cuak >>>> <cuak2000 at gmail.com> wrote: >>>> >>>> >>>> >>>>> Hello again.Thank you very much for your previous help. However, I >>>>> seem to stumble on another rock: >>>>> >>>>> I have a list of n sub-lists with different number of elements. I >>>>> want to select the list with the highest number of elements. >>>>> I tried to combine the Select function with Lenght but couldn't do >>>>> it: >>>>> >>>>> Select[list, Length /@ list >= Max[Length /@ list] &] >>>>> >>>>> Thanks for reading. >>>>> >>>>> Regards, >>>>> >>>>> cd >>>>> >>>>> P.D.: Any tips,websites, books, on how to learn some basic >>>>> programming >>>>> on Mathematica? >>>>> I'm slowly beginning to read "The Mathematica Book"...should I just >>>>> concentrate on that? >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>> >>> >>> >> >> >> > > -- DrMajorBob at bigfoot.com
- References:
- Re: Another question on lists
- From: DrMajorBob <drmajorbob@bigfoot.com>
- Re: Another question on lists