Programista 77 - "Wybrane algorytmy i struktury danych. część 2"

0

Uprzejmie donoszę, że w przesympatycznym artykule "Wybrane algorytmy i struktury danych. część 2" wkradł się mały chochlik w implementacji kopca, a dokładnie metody usuwającej element:

public int Remove(int index)
{
  if (index <= 0 || index >= data.Count)
    throw new ArgumentOutOfRangeException(nameof(index));
  int result = data[index];
  data[index] = data[data.Count - 1];
  data.RemoveAt(data.Count - 1);
  if (data.Count > 1)
  {
    int nextElement = 1; // jest
    //int nextElement = index // powinno być
    int element;
  do
  {
    element = nextElement;
    nextElement = Heapify(element);
  }
  while (nextElement != element);
}

Co można sprawdzić na przykład uruchamiając kod na przykładowym kopcu z artykułu.
Pozdrawiam

1
nemq napisał(a):

Uprzejmie donoszę, że w przesympatycznym artykule "Wybrane algorytmy i struktury danych. część 2" wkradł się mały chochlik w implementacji kopca, a dokładnie metody usuwającej element:
(...)

Hej,

Dziękuję za czujność - masz rację, faktycznie kod powinien wyglądać tak, jak zaprezentowałeś w poście, mea culpa. Porozmawiam z redaktorem, spróbujemy do następnej części dodać erratę. Ale też cieszę się, że artykuł wzbudził zainteresowanie i się podobał :)

Pozdrawiam -- Wojciech "Spook" Sura.

1 użytkowników online, w tym zalogowanych: 0, gości: 1