스택의 개념· 메모리의 스택 영역은 함수의 호출과 관계되는 지역변수, 매개변수, 리턴 값등의 임시데이터를 저장합니다.· 스택이란 단어는 ‘차곡 차곡 쌓여진 더미’를 의미합니다.· LIFO(Last In First Out, 후입선출) 구조라고도 합니다. 스택의 구조· 가
큐 (queue)제일 먼저 넣은 데이터가 가장 먼저 나오는 선입선출(First In First Out, FIFO)의 자료 구조이다. 큐(Queue)라는 뜻은 줄(Line)이라는 뜻으로 실제로 무언가를 사기 위해 기다릴 때 먼저 기다리는 사람이 제일 앞에 서 있고, 나중
해싱이란? (Hashing)해싱이란 임의의 길이의 값을 해시함수(Hash Function)를 사용하여 고정된 크기의 값으로 변환하는 작업을 말한다.그림 출처위 그림에서 dog 라는 문자열을 해시함수를 이용해 새로운 값으로 변환한 것을 볼 수 있는데 이 경우엔 암호화에
완전 이진 트리의 일종으로 우선순위 큐를 위하여 만들어진 자료구조이다.여러 개의 값들 중에서 최댓값이나 최솟값을 빠르게 찾아내도록 만들어진 자료구조이다.힙은 일종의 반정렬 상태(느슨한 정렬 상태) 를 유지한다.큰 값이 상위 레벨에 있고 작은 값이 하위 레벨에 있다는 정
완전 이진 트리의 일종으로 우선순위 큐를 위하여 만들어진 자료구조이다.여러 개의 값들 중에서 최댓값이나 최솟값을 빠르게 찾아내도록 만들어진 자료구조이다.힙은 일종의 반정렬 상태(느슨한 정렬 상태) 를 유지한다.큰 값이 상위 레벨에 있고 작은 값이 하위 레벨에 있다는 정
비트마스크(BitMask)란?비트마스크(BitMask)는 이진수를 사용하는 컴퓨터의 연산 방식을 이용하여, 정수의 이진수 표현을 자료 구조로 쓰는 기법을 말한다. 이진수는 0 또는 1을 이용하므로 하나의 비트(bit)가 표현할 수 있는 경우는 두 가지이다. 보통 어떤
🌈 너비 우선 탐색(BFS) & 깊이 우선 탐색(DFS)🔥 그래프(graph)란?🔥 그래프(graph)와 트리(tree)의 차이🔥 그래프(graph) 표현🔥 너비 우선 탐색(BFS)🔥 깊이 우선 탐색(DFS)🔥 BFS(Breadth-First Search)
Greedy Algorithm(탐욕 알고리즘)은 말 그대로 선택의 순간마다 당장 눈앞에 보이는 최적의 상황만을 쫓아 최종적인 해답에 도달하는 방법이다. 탐욕 알고리즘으로 문제를 해결하는 방법은 다음과 같이 단계적으로 구분할 수 있다.현재 상태에서의 최적의 해답을 선택한
정렬 알고리즘엔 많은 기법이 존재한다.시간복잡도가 O(n²)인 선택정렬과 삽입정렬 그리고 O(n log n)인 퀵정렬에 대해서 알아보자.선택 정렬을 실행했을 때 나오는 그림.버블 정렬이 비교하고 바로 바꿔 넣는 걸 반복한다면 이쪽은 일단 1번째부터 끝까지 훑어서 가장
동적 계획법의 등장 배경은 피보나치 수열을 통해 알 수 있습니다. 피보나치 수열은 제2항까지는 1, 제3항부터는 바로 앞의 두 항을 더한 수로 정의됩니다. 제0항은 생략하기도 합니다. 수열은 아래와 같습니다.프로그래밍에서 피보나치 수열은 보통 재귀를 통해 표현합니다.
이진탐색(Binary Search)정렬 등과 함께 가장 기초인 알고리즘으로 꼽히는 문제. 검색 범위를 줄여 나가면서 원하는 데이터를 검색하는 알고리즘이다.이진 탐색 알고리즘(二進探索algorithm, Binary Search Algorithm)은 컴퓨터과학, 수학 등에
가장 오랫동안 참조되지 않은 페이지를 교체하는 기법페이지 교체 알고리즘은 페이징 기법으로 메모리를 관리하는 운영체제에서, 페이지 부재가 발생 하여 새로운 페이지를 할당하기 위해 현재 할당된 페이지 중 어느 것과 교체할지를 결정하는 방법이다.페이지 교체 알고리즘의 예로,