public void AddNode(ViterbiNode node, int start, int end)
 {
     AddNodeToArray(node, start, StartIndexArr, StartSizeArr);
     AddNodeToArray(node, end, EndIndexArr, EndSizeArr);
 }
        public void AddBos()
        {
            ViterbiNode bosNode = new ViterbiNode(-1, BOS, 0, 0, 0, -1, ViterbiNode.NodeType.KNOWN);

            AddNode(bosNode, 0, 1);
        }
        public void AddEos()
        {
            ViterbiNode eosNode = new ViterbiNode(-1, EOS, 0, 0, 0, dimension - 1, ViterbiNode.NodeType.KNOWN);

            AddNode(eosNode, dimension - 1, 0);
        }
 private ViterbiNode[] ExtendArray(ViterbiNode[] array)
 {
     ViterbiNode[] newArray = new ViterbiNode[array.Length * 2];
     Array.Copy(array, 0, newArray, 0, array.Length);
     return(newArray);
 }