본문 바로가기
  • 초부득3 - 어제보다 나은 내일을 위해
  • 꿈이 현실이 되는 날까지
sw사관학교 정글 2기/잡담 + 개발일지 + 면담

[sw사관학교 정글 2기] week02 개발일지 - 알고리즘-

by 금의야행 2021. 8. 19.

힙 / 우선순위 큐:

 

최소값 혹은 최대값이 일정하게 필요할 경우 크게 용이. 

자료구조 자체가 첫번째 원소가 최소, 최대임을 보장 받기에 유용.

 

큐, 스택 :

 

큐는 bfs, 스택은 dfs 아니면 재귀의 구조와 닮아 있다. 그 이외에는 stack, q 기능만 있는 자료구조를 사용하면 리스트형보다 pop, append 등의 행동의 시간이 덜 든다는 장점이 있다.

 

이분 탐색:

 

탐색 기법 중에서 가장 많이 쓰이는 방법이지 않을까 싶다. 간편하고 시간복잡도도 보장받는다. 응용가능성이 무궁 무진.

 

분할 정복:

 

개념 자체는 간단하다. 하지만 적절한 조건들을 주어 원하는 지점까지 분할해서 원하는 값을 계속해서 리턴 받는게 어렵다.

 

어떤 블로그에서 보기로, 분할정복은 리턴 값에 원하는 값을 돌려받을 수 있게 코드를 짜기만 했으면, 재귀 함수를 타고 들어가서 어떻게 반환되고 하는 깊은 과정들은 신경 쓰면 오히려 낭비라는 이야기였다. 

 

원래부터 코드를 항상 단계별로 이해하려고 햇는데 재귀는 갑자기 바닥에서부터 올라오기에 참 분석이 힘들다. 그렇지만 앞으로는 표면 단계의 로직이 완성되고 원하는 리턴값이 리턴에 잘 들어있다면 너무 해석하거나 해체 하려 하지 말자.

 

 

 

댓글