algorithm

🗨 개인적인 공부 기록용으로 정리한 내용입니다. 잘못된 내용에 대한 피드백은 언제나 감사합니다 :)     ⭐ 큐는 가장 먼저 들어온 데이터가 가장 먼저 처리되는 선입선출(FIFO) 구조의 자료구조이다.     📌 큐의 정의큐는 선입선출(FIFO: First In, First Out) 구조의 선형 자료구조이다.즉, 가장 먼저 들어온 요소가 가장 먼저 처리되는 방식이다.(나중에 들어온 요소가 먼저 처리되는 `스택(Stack)`과는 반대되는 개념이다.) 큐는 마트에서 계산을 위해 사람들이 줄을 선 모습과 비슷하며, 순차적으로 처리해야 하는 작업에 사용된다. 가장 먼저 줄을 선 사람이 가장 먼저 계산을 하게 될 것이다.   큐의 구조는 아래 그림과 같다. 뒤에서 새로운 요소가 추가되고 앞에서 요소가 하나..
🗨 개인적인 공부 목적으로 정리한 내용입니다. 잘못된 내용에 대한 피드백은 언제나 감사합니다 :)     ⭐ Longest Common Subsequence(LCS) 알고리즘은 두 문자열에서 순서를 유지하면서 공통으로 나타나는 가장 긴 부분 수열을 동적 계획법(Dynamic Programming)으로 찾아내는 알고리즘이다.   📌 Longest Common Subsequence (LCS) vs Longest Common Substring Longest Common Subsequence(최장 공통 부분 수열, LCS)는 두 개의 문자열이나 수열 사이에서 순서를 유지하면서 연속하지 않아도 되는 공통된 부분을 말한다.이 알고리즘과 비슷하면서 다른 Longest Common Substring(최장 공통 문자..
🗨 개인적인 공부 목적으로 정리한 내용입니다. 잘못된 내용에 대한 피드백은 언제나 감사합니다 :)     ⭐  선형 에라토스테네스의 체는 기존의 에라토스테네스의 체를 개선하여 $O(n)$의 시간 복잡도로 소수를 찾는 알고리즘이다.이는 각 숫자를 가장 작은 소인수로 한 번만 처리하여 불필요한 계산을 줄였다.   에라토스테네스의 체에 대한 글 [Algorithm] 에라토스테네스의 체(Sieve of Eratosthenes) : 소수를 구하는 고효율 알고리즘 [Algorithm] 에라토스테네스의 체(Sieve of Eratosthenes) : 소수를 구하는 고효율 알고리즘🗨 개인적인 공부 목적으로 정리한 내용입니다. 잘못된 내용에 대한 피드백은 언제나 감사합니다 :)     ⭐ 에라토스테네스의 체는 작은 ..
🗨 개인적인 공부 목적으로 정리한 내용입니다. 잘못된 내용에 대한 피드백은 언제나 감사합니다 :)     ⭐ 에라토스테네스의 체는 작은 수부터 시작하여 소수의 배수를 지워나가는 방식으로 소수를 찾는 고효율적인 알고리즘이다.   📌 에라토스테네스의 체 (Sieve of Eratosthenes)고대 그리스의 수학자인 에라토스테네스가 발견한 소수를 찾는 가장 빠르고 쉬운 방법이다.   ⏱ $\mathbf{O(n\;log\;log\;n)}$ 의 시간 복잡도를 가진다. 아래 동작 원리 부분을 보면 알겠지만, 지워진 부분도 차례가 되면 불필요하게 탐색하기 때문에 이를 보완한 방법도 존재한다.이는 기존의 에라토스테네스의 체를 개선한 "선형 에라토스테네스의 체"로, 시간 복잡도를 $O(n)$으로 줄인 알고리즘이다...
🗨 개인적인 공부 기록용으로 정리한 내용입니다. 잘못된 내용에 대한 피드백은 언제나 감사합니다 :)     ⭐리스트는 동적 크기를 가지며 순차적으로 데이터를 저장하는 자료구조이다.     📌 리스트의 정의리스트는 선형 자료구조의 한 종류이며, 배열과 유사하게 데이터를 연속적으로 저장하는 자료구조이다.  리스트는 구체적인 형태에 따라 배열 리스트(Array List)나 연결 리스트(Linked List)로 나뉜다.배열 리스트(Array List)는 배열을 기반으로 구현된 리스트고, 연결 리스트(Linked List)는 각 요소가 다른 요소에 대한 참조(포인터)를 가지며, 동적으로 크기를 조절할 수 있는 리스트다.     📌 1) 배열 리스트(Array List)동적 배열(Dynamic Array)이..
🗨 개인적인 공부 기록용으로 정리한 내용입니다. 잘못된 내용에 대한 피드백은 언제나 감사합니다 :)     ⭐ 스택은 마지막에 들어간 데이터가 가장 먼저 나오는 후입선출(LIFO) 구조의 자료구조이다.     📌 스택의 정의스택은 후입선출(LIFO: Last In, First Out) 구조의 선형 자료구조이다.즉, 가장 마지막에 추가된 요소가 가장 먼저 제거되는 방식이다.(가장 먼저 들어온 데이터가 가장 먼저 처리되는 `큐(Queue)`와 반대되는 개념이다.) 스택은 물건을 쌓는 방식과 비슷하여 요소를 넣고(push) 빼는(pop) 작업이 맨 위에서만 일어난다.스택의 중간에서는 요소를 삭제할 수 없다.    스택의 주요 연산은 다음과 같다.`Push`: 스택의 맨 위에 새로운 요소를 추가한다.`Po..
🗨 개인적인 공부 기록용으로 정리한 내용입니다. 잘못된 내용에 대한 피드백은 언제나 감사합니다 :)     ⭐배열은 동일한 데이터 타입의 요소들이 연속된 메모리 위치에 저장되는 자료구조이다.   📌 배열의 정의배열은 선형 자료구조이며, 대부분의 프로그래밍 언어에서 기본적으로 제공되는 만큼 가장 기초적인 자료구조이다.  그럼, 배열이란 무엇일까?배열은 동일한 데이터 타입의 요소들을 1열로 나열, 즉 연속된 메모리 위치에 저장하는 구조이다. 순차적으로 저장되기 때문에, 인덱스 번호가 배열의 시작점으로부터 값이 저장되어 있는 상대적인 위치를 뜻한다.예를 들어, 인덱스 번호가 0인 arr[0]은 arr배열의 첫 번째 주소 즉, 기본 주소를 뜻한다.또, 인덱스 번호가 1인 arr[1]은 arr배열의 기본 주..
Mojing_
'algorithm' 태그의 글 목록