Ejemplo n.º 1
0
        /// <summary>
        /// swaps 2 elements in the heap by index
        /// </summary>
        /// <param name="i"></param>
        /// <param name="j"></param>
        private void Swap(int i, int j)
        {
            IPriorityNode temp = heap[i];

            heap[i] = heap[j];
            heap[j] = temp;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// adds a node to the heap and reheapifies
        /// </summary>
        /// <param name="n">Node to add</param>
        public void Push(IPriorityNode n)
        {
            // adds node to the first available location
            heap[items] = n;

            // add to item count
            items++;

            // while the current node's cost is less than its parent's cost swap
            TrickleUp(items);

            // add node n to the hashTable
            heapLookup.Add(n.Name, n);
        }
        /// <summary>
        /// adds a node to the heap and reheapifies
        /// </summary>
        /// <param name="n">Node to add</param>
        public void Push(IPriorityNode n)
        {
            // adds node to the first available location
            heap[items] = n;

            // add to item count
            items++;

            // while the current node's cost is less than its parent's cost swap
            TrickleUp(items);

            // add node n to the hashTable
            heapLookup.Add(n.Name, n);
        }