blutics   5년 전

링크 리스트를 사용해서 각 노드들에 간선을 리스트에 저장하고

그 리스트는 array에 저장하였습니다.

그리고 각각 들어오는 간선정보는 nodes에 저장하여 리스트에 연결시켯습니다.

node는 10만개까지 들어오므로 10개에 그리고 나중에

답구할때 링크리스트를 또 쓸꺼라서 넉넉하게 12만개를 전역에 할당받았습니다.

처음에는 printf가 문젠가 해서 sprintf로 문자열을 하나로 합쳐서 printf를 한번만 호출하게 했는데도 시간초과네요.

sprintf도 타임을 많이 잡아먹는건가요?

음.....

djm03178   5년 전

다른 건 좀 더 봐야겠지만, 문자열을 지금과 같이 하나로 이어붙여나가는 건 길이의 제곱에 비례하는 시간이 걸려 더 비효율적입니다. strcat이 문제인데, 이 함수는 첫 번째 문자열의 끝이 어디인지 찾기 위해 문자열의 처음부터 널 문자가 나타나는 지점까지 하나씩 탐색해야 합니다.

blutics   5년 전

문자열 합치는 부분을 싹지워 버리고 간소화 시켰습니다.

간소화시킬 수 있는 부분이었는데 너무 복잡하게 생각했었네요.

그래도 시간초과네요 흠....

댓글을 작성하려면 로그인해야 합니다.