Re: Algorithm Analysis Course: Should I use Mathematica for projects?

*To*: mathgroup at smc.vnet.net*Subject*: [mg127279] Re: Algorithm Analysis Course: Should I use Mathematica for projects?*From*: Richard Fateman <fateman at cs.berkeley.edu>*Date*: Fri, 13 Jul 2012 02:55:22 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*Delivered-to*: mathgroup-newout@smc.vnet.net*Delivered-to*: mathgroup-newsend@smc.vnet.net*References*: <15963298.38946.1342045629048.JavaMail.root@m06> <jtm3kl$gdm$1@smc.vnet.net>

On 7/12/2012 1:59 AM, djmpark wrote: > I'm not an expert at computer science so others may have something better to > say there. > > But I think your "Pros" argument is correct. Mathematica is broad enough and > deep enough that it is worthwhile getting good at it and it takes time. > > Are you aware of the book "Computer Science with Mathematica" by Roman E. > Maeder. It was published in 2000 for Version 4, but is still probably plenty > useful. > > An example. Create 3 arrays. A=Table[i,{i,0,100}]; B=Table[i,{i,0,1000}]; Q=Table[i,{i,0,10000}]; Try updating the 50th element of each of these items, which look like arrays in Mathematica. Timing [A[[50]],{i,0,100000}] Timing [B[[50]],{i,0,100000}] Timing [Q[[50]],{i,0,100000}] On my computer, these results take 0.266 seconds, 0.453 seconds, and 2.25 seconds, So, for the prize, tell me which is the fastest, and which is the slowest? Or more to the point, can you explain to your computer science professor why this is so? Now, instead of creating these guys as what appears to be arrays, one uses A=Array[#&,100] B=Array[#&,1000] Q=Array[#&,10000] How does that change the results? Note that the documentation says. that "Array[f,n] generates a list of length n with elements f[i]. Of course that is not really a list. experimenting with Append and Prepend might be amusing too.

**Follow-Ups**:**Re: Algorithm Analysis Course: Should I use Mathematica for projects?***From:*Andrzej Kozlowski <akozlowski@gmail.com>