INTRO

str·2024년 10월 29일

출처 : 인프런 - 코딩테스트 [ ALL IN ONE ]

자료구조

  • 데이터를 저장하고 관리하는 방식

선형 자료구조

  • array
  • dynamic array
  • linked list
  • queue
  • stack
  • hash table

비선형 자료구조

  • tree
  • graph

자료구조를 배워야 하는 이유

BFS -> Queue
다익스트라 -> heap

자료구조를 배워야 어떤 알고리즘을 쓸지 알 수 있다.
결과가 많이 달라짐.
여러 관점 다양한 방식 을 배우자

알고리즘

  • 문제 해결 방법; 어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법
  • 자주 쓰이는 문제 해결 방법(알고리즘)은 패턴화
    • BFS, DFS, Binary Search, Dijkstra 등
  • 한 문제를 해결할 수 있는 알고리즘은 다양하다.
    • 각 문제에 적합한 알고리즘을 선택할 수 있어야 한다.
    • 알고리즘을 평가할 수 있어야 한다.

알고리즘 평가기준

  • 시간 복잡도(Time Complexity)
  • 공간 복잡도(Space Complexity)
  • 구현 복잡도

시간 복잡도 > 구현 복잡도

시간 복잡도와 공간 복잡도는 보통 trade-off 관계입니다. 실행시간을 줄이기 위해서는 메모리를 더 사용해야 하고, 메모리 사용량을 줄이다보면 실행시간이 늘어나게 됩니다. 시간복잡도를 미리 계산하여 문제 조건을 딱 맞추면서도 구현하기 쉬운 알고리즘을 선택할 수 있는 방법도 같이 훈련

0개의 댓글