부트캠프

[알고리즘 1주차] WIL

반응형

1. 연결리스트

 

연결리스트의 개념 자체는 어렵지 않았습니다만 빈 에디터에 직접 처음부터 구현하는 것이 까다로웠습니다.

 

직접 구현해보는 것은 자주 해야 잊어버리지 않을 것 같습니다.

 

연결리스트 과제 대부분 코딩테스트라는 점 보다는 기술 면접에 나올 법한 질문들이라는 생각이 들었습니다.

 

따라서 구현을 처음부터 직접 해본 후 문제를 푸는 것이 훨씬 수월했습니다.

 

 

2. 스택

 

스택 또한 구현이 기본이 되어야하지만 문제를 마주했을 땐 구현을 하는 것과 문제를 푸는 것은 다른 영역이라는 생각을 했습니다.

 

왜냐하면 파이썬의 list자체가 스택의 성격을 가지고 있기 때문입니다.( 이는 큐 역시 마찬가지 입니다. )

 

3. 큐

 

큐 역시 스택과 같이 파이썬 collections의 deque 라이브러리를 사용하면 간단하게 구현이 가능했습니다.

 

큐에 관련된 문제를 풀다가(백준 1966번) 다음과 같은 에러가 생겼습니다.

RuntimeError : deque mutated during iteration

for 문 안에서 큐의 데이터가 변경되면 만날 수 있는 에러였습니다.

 

4. 해시테이블

해시테이블의 경우 연결리스트나 스택, 큐보다 구현이 복잡했으며 이해하는데 어려웠지만 

 

특히 해시테이블 방식 중 개별 체이닝 방식은 연결리스트의 개념이 함께 들어있어서 이해하는데 시간이 오래 걸렸습니다.

 

직접 구현하는데까지는 아직 시간 투자가 필요합니다.

 

하지만 파이썬의 경우 딕셔너리 자료구조가 해시테이블로 이루어져 있어서 쉽게 이용할 수 있었습니다.

 

 

 

 

반응형

'부트캠프' 카테고리의 다른 글

[16일차] TIL - Week2 Test  (0) 2022.03.24
[13일차] TIL - Back Tracking  (0) 2022.03.21
[11일차] TIL (DFS)  (0) 2022.03.18
[10일차] TIL - Week1 Test  (0) 2022.03.17
[9일차] TIL (Hash Table)  (0) 2022.03.16