적 ai 만드는 중인데 적 개체수가 100개 이상이라고 할 때,
플레이어와의 거리가 가까운 순으로 1등부터 꼴등까지라고 하면
1등부터 5등까지의 행동을 다르게하고
꼴찌부터 뒤에서 5등까지 행동을 다르게 해보려고 하는데
이거 구현해보려는 아이디어로
현재 다른 코드에서도 사용중인 kdTree를 써보려고 하는데
kdTree로 kNearest 해서 k개의 가장 가까운 요소를 얻을 수 있는건 잘 써먹고 있음.
근데 kFarthest 라는걸 구현해서 가장 먼 k개의 요소를 얻는 것도 가능한건가??
안되면 다른 좋은 알고리즘 뭐가 있을까??
해당 댓글은 삭제되었습니다.
그치 그냥 깝치지말고 걍 소팅하고 indexof 써야겠다
정렬도 필요 없고 그냥 순위가 k개 안에 드는지 스캔 한번만 아면 시간복잡도 kn 짜리 되는데. 정렬해도 성능 문제 없으면 그냥 써도 된다만
이해를 못해서 좀만 더자세히 설명 부탁가능??
최대값 구할때 배열 하나씩 스캔하면서 이전에 저장된 최대값이랑 비교해서 더 큰값이면 최대값을 갱신하잖아. 이걸 최대값이 아닌 가장 큰 k개 값이라 생각하고 똑같이 하면 돼. 알고리즘은 간단하니 ai한테 짜달라고 해도 되고
와 천재인가 감사감사! 좋다이거
윗댓대로 하는데 혹시 k가 커서 성능이 오래걸리면 k개를 통으로 비교하지말고 heap써서 하면 빠르다 이것도 챗 지피티한테 물어보면 짜줌 회사면접같은데서 하도 나오는거라
오 늦게보고 해봤는데 엄청좋네 알려줘서 감사감사