private void displayTreeInfo(FibTree tree, Label infoLabel) { infoLabel.Text = string.Format("Nodes: {0}, edges: {1}, max. depth: {2}", tree.NodeCount, tree.EdgeCount, tree.Root.GetDepth()); }
public MultiLookup(string ip, FibTree mFibTreeOriginal, FibTree mFibTreeNormalized, FibTree mFibTreeCompressed) { IP = ip; this.mFibTreeOriginal = mFibTreeOriginal; this.mFibTreeNormalized = mFibTreeNormalized; this.mFibTreeCompressed = mFibTreeCompressed; DoLookup(); }
private void initModel() { mFibTableOriginal = new FibTable(); mFibTableNormalized = new FibTable(); mFibTableCompressed = new FibTable(); mFibTreeOriginal = new FibTree(); mFibTreeNormalized = new FibTree(); mFibTreeCompressed = new FibTree(); mMultiLookupCollection = new MultiLookupCollection(); mFibTableOriginal.CollectionChanged += MFibTableOriginal_CollectionChanged; mFibTreeOriginal.TreeChanged += MFibTreeOriginal_TreeChanged; mFibTreeNormalized.TreeChanged += MFibTreeNormalized_TreeChanged; mFibTreeCompressed.TreeChanged += MFibTreeCompressed_TreeChanged; }
static void Main(string[] args) { while (true) { int number = Menu(); if (number < 0) { Console.WriteLine("Program exit."); break; } List <int> fibonacciList = Fibonacci.FibSequence(number); FibTree fibTree = new FibTree(number); PrintFibonacciList(fibonacciList, number); PrintFibonacciDetails(fibTree); } }
static void PrintFibonacciDetails(FibTree fibTree) { fibTree.PrintTreeLeftToRight(); Console.WriteLine($"\nFibonacci tree height is {fibTree.GetHeight()}"); Node r = fibTree.GetRoot(); Console.WriteLine($"Root contain the number {r.GetItem()}"); if (r.GetLeftChild() != null) { Console.WriteLine($"Root left child contain the number {r.GetLeftChild().GetItem()}"); } if (r.GetRightChild() != null) { Console.WriteLine($"Root right child contain the number {r.GetRightChild().GetItem()}"); } fibTree.LevelOrderTraverse(); fibTree.InOrderTraverse(VisitItem); Console.WriteLine(); }
private void visualizeTree(FibTree tree, TreeView treeView) { treeView.Nodes.Clear(); addNodeWithChildren(tree.Root, treeView, null, ""); treeView.ExpandAll(); }
private void initNextHopTable(ref DataGridView originalTable, ref CustomDataGridView <FibTreeLabel> customMember, Panel container, FibTree fibTree) { customMember = CreateTable <FibTreeLabel>(ref originalTable, container); CustomDataGridViewColumnDescriptorBuilder <FibTreeLabel> builder; // Column: prefix, IP format builder = new CustomDataGridViewColumnDescriptorBuilder <FibTreeLabel>(customMember); builder.Type(DataGridViewColumnType.TextBox); builder.Header("Label"); builder.Width(60); builder.UpdaterMethod((entry, cell) => { cell.Value = entry.Text; }); builder.AddChangeEvent(nameof(FibEntry.IpForm)); builder.BuildAndAdd(); // Column: next hop builder = new CustomDataGridViewColumnDescriptorBuilder <FibTreeLabel>(customMember); builder.Type(DataGridViewColumnType.TextBox); builder.Header("IP address"); builder.Width(120); builder.UpdaterMethod((entry, cell) => { cell.Value = entry.NextHop; }); builder.AddChangeEvent(nameof(FibEntry.NextHop)); builder.BuildAndAdd(); // Bind database customMember.BoundCollection = fibTree.Labels; }