public void RunSequence(string outFile, List<int> ns, List<double> ps, List<double> alphas, int repeatCount) { var m = new Measurements(); var sw = new Stopwatch(); foreach (var alpha in alphas) { foreach (var n in ns) { for (var x = 0; x < repeatCount; x++) { WriteLine(alpha + "a " + 0 + "p " + n); // create or reset stuff var sgt = new DataStructures.SGTree<int>(alpha); var SGTNodes = new List<DataStructures.SGTNode<int>>(n); for(var i = 1; i < n; i++) { SGTNodes.Add(new DataStructures.SGTNode<int>(i)); } sw.Reset(); sw.Start(); sgt.insertFirst(0); sw.Stop(); m.Add(n, 0, alpha, sw.ElapsedTicks); } } } m.WriteToFile(outFile); }
public void RunSequence(string outFile, List <int> ns, List <double> ps, List <double> alphas, int repeatCount) { var m = new Measurements(); var sw = new Stopwatch(); foreach (var alpha in alphas) { foreach (var n in ns) { for (var x = 0; x < repeatCount; x++) { WriteLine(alpha + "a " + 0 + "p " + n); // create or reset stuff var sgt = new DataStructures.SGTree <int>(alpha); var SGTNodes = new List <DataStructures.SGTNode <int> >(n); for (var i = 1; i < n; i++) { SGTNodes.Add(new DataStructures.SGTNode <int>(i)); } sw.Reset(); sw.Start(); sgt.insertFirst(0); sw.Stop(); m.Add(n, 0, alpha, sw.ElapsedTicks); } } } m.WriteToFile(outFile); }
public void Run(string outFile, List<int> ns, List<double> ps, List<double> alphas, int repeatCount) { var m = new Measurements(); var random = new Random(DateTime.Now.Millisecond); var sw = new Stopwatch(); foreach (var alpha in alphas) { foreach(var p in ps) { foreach (var n in ns) { for(var x = 0; x < repeatCount; x++) { WriteLine(alpha + "a " + p + "p " + n); // create or reset stuff var sgt = new DataStructures.SGTree<int>(alpha); var SGTNodes = new List<DataStructures.SGTNode<int>>(n); sw.Reset(); sw.Start(); var prev = sgt.insertFirst(0); SGTNodes.Add(prev); for (var i = 0; i < n; i++) { // sequential probability if (random.Next(0, 100) / 100.0 < p) { prev = sgt.insertAfter(prev, i); SGTNodes.Add(prev); } else { var at = random.Next(0, i); prev = sgt.insertAfter(SGTNodes[at], i); SGTNodes.Add(prev); } } sw.Stop(); m.Add(n, p, alpha, sw.ElapsedTicks); } } } } m.WriteToFile(outFile); }
public void Run(string outFile, List <int> ns, List <double> ps, List <double> alphas, int repeatCount) { var m = new Measurements(); var random = new Random(DateTime.Now.Millisecond); var sw = new Stopwatch(); foreach (var alpha in alphas) { foreach (var p in ps) { foreach (var n in ns) { for (var x = 0; x < repeatCount; x++) { WriteLine(alpha + "a " + p + "p " + n); // create or reset stuff var sgt = new DataStructures.SGTree <int>(alpha); var SGTNodes = new List <DataStructures.SGTNode <int> >(n); sw.Reset(); sw.Start(); var prev = sgt.insertFirst(0); SGTNodes.Add(prev); for (var i = 0; i < n; i++) { // sequential probability if (random.Next(0, 100) / 100.0 < p) { prev = sgt.insertAfter(prev, i); SGTNodes.Add(prev); } else { var at = random.Next(0, i); prev = sgt.insertAfter(SGTNodes[at], i); SGTNodes.Add(prev); } } sw.Stop(); m.Add(n, p, alpha, sw.ElapsedTicks); } } } } m.WriteToFile(outFile); }