rndrnjs2003   6년 전

시간초과가 발생합니다.

줄일 수 있는 방법 없을까요..

cbs0615   6년 전

이거 컴파일되나요 ??

Node의 Data는 integer로 선언되어있는데


CreateNode 에서 동적할당을 하는 것 같습니다.

rndrnjs2003   6년 전

엇 수정했었는데 되돌리기할때 깜빡했네요

컴파일은 됩니다!

djm03178   6년 전

Pop이 문제입니다. 현재 코드에서는 Pop을 할 때 top 직전 노드에 대한 정보가 없어서 리스트 전체 순회를 통해 그 이전 노드를 찾아나서야 하는데, 이러면 다음과 같은 케이스에서 아주 많은 시간이 소요됩니다.

100000

100000

99999

99998

......

1

연결 리스트로 스택을 구현할 경우, 방향을 반대로 하는 것이 좋습니다. 왜냐하면, 스택은 오로지 탑 노드에만 관심이 있기 때문에, 아래쪽에 어떤 것들이 있는지는 당장 알 필요가 전혀 없기 때문입니다. 반대 방향으로, 즉 탑 노드부터 바텀 노드로 연결되도록 하면, push, pop 연산 모두 O(1)에 수행이 가능합니다.

rndrnjs2003   6년 전

djm03178  님 말씀대로 더블 링크드 리스트로 바꾼 후 풀었더니 성공했습니다. 감사합니다 선생님!

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