핵심 자료구조, 알고리즘, 기본개념

Life is ninanino·2022년 8월 27일
0

알고리즘

목록 보기
20/23
  • 자료구조/알고리즘/개념
    연결 리스트 / 너비 우선 탐색 / 비트 조작
    트리, 트라이, 그래프 / 깊이 우선 탐색 / 메모리(스택vs힙)
    스택 & 큐 / 이진 탐색 / 재귀
    힙 / 병합 정렬 / 동적 프로그래밍
    Vector/ArrayList / 퀵 정렬 / big-O 시간&공간
    ⭐해시테이블⭐

이 중 코딩 테스트에서 보편적으로 활용되는 자료 구조는 아래와 같습니다.

배열 (array)
리스트, 벡터 (vector) (수학에서 나오는 '크기와 방향을 갖는 값'과는 이름만 같고 다른 개념입니다.)
연결 리스트 (linked list)
스택 (stack), 큐 (queue), 덱 (deque)
우선순위 큐 (priority queue), 힙 (heap)
트리 구조 (tree)
이진 트리 (binary tree)
그래프 (graph)
정점 (node)과 간선 (edge)
양방향 간선, 단방향 간선
셋, 맵
Java: tree set, tree map, hash set, hash map
해시 함수 (hash function)의 정의와 개념

보편적으로 사용되는 알고리즘은 아래와 같습니다.

단순 구현
탐욕법 (greedy method)
브루트 포스 (brute force) - 모든 경우의 수를 시도해 보기
깊이 우선 탐색 (depth first search; DFS), 너비 우선 탐색 (breadth first search; BFS)
정렬 (sort)
이진 탐색 (binary search)
동적 계획법 (dynamic programming)
다익스트라 알고리즘 (Dijkstra algorithm)
크루스칼 알고리즘 (Kruskal algorithm)

그 외에 플로이드-와셜 알고리즘 (Floyd-Warshall algorithm), 세그먼트 트리 (segment tree)처럼 가끔 등장하는 알고리즘도 있습니다.

출처: https://katfun.tistory.com/entry/개발자-취업을-위한-코딩-테스트-준비-방법
[하고 싶은 것을 즐겁게:티스토리]

profile
백엔드 프로그래밍을 공부하고 있습니다. AWS, 클라우드 환경에 대해 관심이 많습니다.

0개의 댓글