몇 가지 작업을하고 이상한 문제가 발생하여 문제를 발견하게되었습니다. 저는 10,000 개의 값을 가진 목록을 두 가지 방법으로 정렬합니다. 하나는 빠른 선택을 사용하는 것이고 다른 하나는 삽입 종류의 유이를 사용하는 것입니다. 이것의 목표는 중간 값을 찾고 중간 값을 사용하여 중간 값과 모든 값 사이의 총 거리를 찾아야합니다. 중앙값 계산은 완벽하게 정상적으로 작동하지만 전체 계산은 다른 값을 반환한다는 것을 이해할 수없는 이유로들 수 있습니다. 합계를 계산하는 함수의 입력은 목록과 중앙값입니다. 두 프로그램 사이의 중앙값은 동일하게 유지되지만 목록의 값도 정렬되지만 목록 중 하나는 정렬되고 다른 목록은 정렬되지 않습니다. 여기 파이썬 : 정렬되지 않은/정렬 된 목록 다른 값을 반환 하시겠습니까?
내가 총을 계산하는 데 사용하고 무엇을 나는 것 한 목록이 정렬되는 또 다른 이유는 분류되지 않는으로def ttlDist(lst, med):
total = 0
for i in lst:
total = abs(med - i)
print(total)
... (이에 서식하는 여기 이상으로 잘 그것은 단지 사본이다) 대폭적으로 다른 가치를 얻고 있는가? refrence를 위해 삽입 정렬을 사용할 때 거리는 49846.0이지만 quickselect를 사용할 때 얻을 수있는 거리는 29982입니다.
(의대를 - 1) '. 지금,'total'은 단지 abs (med - lst [-1])입니다. – Blender