Changeset 3244 for trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/SymbolicExpressionTree.cs
- Timestamp:
- 03/31/10 18:34:34 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/SymbolicExpressionTree.cs
r3237 r3244 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-20 08Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 21 21 22 22 using System; 23 using System.Linq; 23 24 using System.Collections.Generic; 24 25 using System.Text; … … 60 61 public SymbolicExpressionTree(SymbolicExpressionTreeNode root) : base() { } 61 62 63 public IEnumerable<SymbolicExpressionTreeNode> IterateNodesPrefix() { 64 return IterateNodesPrefix(root); 65 } 66 private IEnumerable<SymbolicExpressionTreeNode> IterateNodesPrefix(SymbolicExpressionTreeNode node) { 67 yield return node; 68 foreach (var subtree in node.SubTrees) { 69 foreach (var n in IterateNodesPrefix(subtree)) 70 yield return n; 71 } 72 } 73 public IEnumerable<SymbolicExpressionTreeNode> IterateNodesPostfix() { 74 return IterateNodesPostfix(root); 75 } 76 private IEnumerable<SymbolicExpressionTreeNode> IterateNodesPostfix(SymbolicExpressionTreeNode node) { 77 foreach (var subtree in node.SubTrees) { 78 foreach (var n in IterateNodesPrefix(subtree)) 79 yield return n; 80 } 81 yield return node; 82 } 83 62 84 public override IDeepCloneable Clone(Cloner cloner) { 63 85 SymbolicExpressionTree clone = new SymbolicExpressionTree();
Note: See TracChangeset
for help on using the changeset viewer.