FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[Original HTTPS Page]
tech-interview-for-developer/Algorithm at master · dev-zerob/tech-interview-for-developer · GitHub
dev-zerob
/
tech-interview-for-developer
Public
forked from
gyoogle/tech-interview-for-developer
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
tech-interview-for-developer
/
Algorithm
/
Copy path
Directory actions
More options
More options
Directory actions
More options
More options
Latest commit
History
History
History
Breadcrumbs
tech-interview-for-developer
/
Algorithm
/
Copy path
Folders and files
Name
Name
Last commit message
Last commit date
parent directory
..
code
code
professional
professional
.DS_Store
.DS_Store
Binary Search.md
Binary Search.md
DFS & BFS.md
DFS & BFS.md
Hash Table 구현하기.md
Hash Table 구현하기.md
HeapSort.md
HeapSort.md
LCA(Lowest Common Ancestor).md
LCA(Lowest Common Ancestor).md
LIS (Longest Increasing Sequence).md
LIS (Longest Increasing Sequence).md
MergeSort.md
MergeSort.md
QuickSort.md
QuickSort.md
README.md
README.md
SAMSUNG Software PRO등급 준비.md
SAMSUNG Software PRO등급 준비.md
Sort_Counting.md
Sort_Counting.md
Sort_Radix.md
Sort_Radix.md
간단하지만 알면 좋은 최적화들.md
간단하지만 알면 좋은 최적화들.md
다익스트라(Dijkstra).md
다익스트라(Dijkstra).md
동적 계획법 (Dynamic Programming).md
동적 계획법 (Dynamic Programming).md
비트마스크(BitMask).md
비트마스크(BitMask).md
최대공약수 & 최소공배수.md
최대공약수 & 최소공배수.md
README.md
Outline
알고리즘(코딩테스트) 문제 접근법
Data Structure
배열
: 임의의 사이즈를 선언 (Heap, Queue, Binary Tree, Hashing 사용)
스택
: 행 특정조건에 따라 push, pop 적용
큐
: BFS를 통해 순서대로 접근할 때 적용
연결리스트
: 배열 구현, 포인터 구현 2가지 방법 - 삽입,삭제가 많이 일어날 때 활용하기
그래프
: 경우의 수, 연결 관계가 있을 때 적용
해싱
: 데이터 수만큼 메모리에 생성할 수 없는 상황에 적용
트리
: Heap과 BST(이진탐색)
Algorithm
★재귀(Recursion)
: 가장 많이 활용. 중요한 건 호출 횟수를 줄여야 함 (반복 조건, 종료 조건 체크)
★BFS, DFS
: 2차원 배열에서 확장 시, 경우의 수를 탐색할 때 구조체(class)와 visited 체크를 사용함
★정렬
: 퀵소트나 머지소트가 대표적이지만, 보통 퀵소트를 사용함
★메모이제이션(memoization)
: 이전 결과가 또 사용될 때, 반복 작업을 안하도록 저장
★이분탐색(Binary Search)
: logN으로 시간복잡도를 줄일 수 있는 간단하면서 핵심적인 알고리즘
최소신장트리(MST)
: 사이클이 포함되지 않고 모든 정점이 연결된 트리에 사용 (크루스칼, 프림)
최소공통조상(LCA)
: 경우의 수에서 조건이 겹치는 경우. 최단 경로 탐색시 공통인 경우가 많을 때 적용
Disjoint-Set
: 서로소 집합. 인접한 집함의 모임으로 Tree의 일종이며 시간복잡도가 낮음
분할 정복
: 머지 소트에 사용되며 범위를 나누어 확인할 때 사용
트라이(Trie)
: 모든 String을 저장해나가며 비교하는 방법
비트마스킹
: |는 OR, &는 AND, ^는 XOR <<를 통해 메모리를 절약할 수 있음
Sort 시간복잡도
Back
|
FazBrowse Home
|
New Git URL