Vajon ez pszeudokódját vállalnak nulla alapú index?

szavazat
0

Nem vagyok biztos abban, hogy mikor írják 1, ha ez az első vagy a második elem a tömbben:

function DouglasPeucker(PointList[], epsilon)
 //Find the point with the maximum distance
 dmax = 0
 index = 0
 for i = 2 to (length(PointList) - 1)
  d = OrthogonalDistance(PointList[i], Line(PointList[1], PointList[end])) 
  if d > dmax
   index = i
   dmax = d
  end
 end

 //If max distance is greater than epsilon, recursively simplify
 if dmax >= epsilon
  //Recursive call
  recResults1[] = DouglasPeucker(PointList[1...index], epsilon)
  recResults2[] = DouglasPeucker(PointList[index...end], epsilon)

  // Build the result list
  ResultList[] = {recResults1[1...end-1] recResults2[1...end]}
 else
  ResultList[] = {PointList[1], PointList[end]}
 end

 //Return the result
 return ResultList[]
end

például, én és valósítja meg a c ++, így ha azt mondja, i = 2, a teendő az int i = 1?

Kösz

A kérdést 16/08/2010 19:07
a forrás felhasználó
Más nyelveken...                            


2 válasz

szavazat
2

Egy tipp, hogy néz ki, mint index 1 az első elem a tömbben (egyébként az első elem nem indexelt bárhol). A legjobb módja, hogy elmondja, az biztos, talán próbálni, hogy mégis :)

Válaszolt 16/08/2010 19:09
a forrás felhasználó

szavazat
1

Ez 1-indexelt. Figyeljük meg a következő sort:

recResults1[] = DouglasPeucker(PointList[1...index], epsilon)

továbbá:

ResultList[] = {recResults1[1...end-1] recResults2[1...end]}

Mind a hozzáférést a lista elején.

Válaszolt 16/08/2010 19:10
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more