Algorithm/Data structure

Algorithm

알고리즘은, 어떤 문제를 해결하기 위한 방법인 것 같습니다.

여기서의 알고리즘은 컴퓨터에서 말하는 알고리즘, 즉 "데이터를 어떻게 효율적으로 처리하는지, 어떻게 문제를 풀지" 의 방법을 말합니다. 주로 컴퓨터 코드로 표현합니다.

알고리즘을 말하면 주로 자료구조를 포함합니다. 자료구조는 "데이터를 어떻게 효율적으로 처리하는지" 에 가깝습니다. 대부분의 알고리즘 책, 자료들은 자료구조까지 포함해 설명합니다. 관련성이 너무 높습니다.

백준, 프로그래머스, leetcode 등에 문제들이 많이 있습니다. 취업에서 말하는 코딩 테스트가 주로 알고리즘 문제를 말합니다.

아래는 대표적인 자료구조, 알고리즘입니다. 이것 말고도 많지만, 이 정도만 알아도 코딩 테스트 수준 문제를 푸는데 거의 지장이 없습니다.

자료구조

  • array

  • stack, queue

  • list, linked list

  • tree, Self-balancing tree

  • graph

  • hash table

  • heap

알고리즘

  • sort algorithm

    • quick, select, merge..

  • 순회 알고리즘(그래프, 트리를 순회합니다.)

    • dfs, bfs

  • greedy(탐욕 알고리즘)

  • 다익스트라 알고리즘

    • 다이나믹 프로그래밍(dp)

Cover

stack, queue

Cover

list ,linked list

Cover

tree, 자가 정렬 트리

Cover

graph

Cover

hash table

Cover

heap

Cover

정렬 알고리즘

Cover

순회 알고리즘

Cover

greedy

Cover

다익스트라 알고리즘

Cover

다이나믹 프로그래밍

Last updated

Was this helpful?