Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/25/15 13:46:24 (9 years ago)
Author:
mkommend
Message:

#2276: Reintegrated branch for dataset refactoring.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/SymbolicExpressionTreeNode.cs

    r12012 r12509  
    175175
    176176    public IEnumerable<ISymbolicExpressionTreeNode> IterateNodesBreadth() {
    177       var list = new List<ISymbolicExpressionTreeNode>() { this };
     177      var list = new List<ISymbolicExpressionTreeNode>(GetLength()) { this };
    178178      int i = 0;
    179179      while (i != list.Count) {
     
    193193    public void ForEachNodePrefix(Action<ISymbolicExpressionTreeNode> a) {
    194194      a(this);
    195       if (Subtrees != null) {
    196         foreach (var subtree in Subtrees) {
    197           subtree.ForEachNodePrefix(a);
     195      if (subtrees != null) {
     196        //avoid linq to reduce memory pressure
     197        for (int i = 0; i < subtrees.Count; i++) {
     198          subtrees[i].ForEachNodePrefix(a);
    198199        }
    199200      }
     
    207208
    208209    public void ForEachNodePostfix(Action<ISymbolicExpressionTreeNode> a) {
    209       if (Subtrees != null) {
    210         foreach (var subtree in Subtrees) {
    211           subtree.ForEachNodePostfix(a);
     210      if (subtrees != null) {
     211        //avoid linq to reduce memory pressure
     212        for (int i = 0; i < subtrees.Count; i++) {
     213          subtrees[i].ForEachNodePostfix(a);
    212214        }
    213215      }
Note: See TracChangeset for help on using the changeset viewer.