'ALGORITHM/Concept' 카테고리의 글 목록 — J Story

ALGORITHM/Concept

ALGORITHM/Concept

[알고리즘] 누적합, Prefix Sum (feat. Python, Javascript)

들어가며 누적합 알고리즘(Cumulative sum algorithm)은 주어진 배열에서 인덱스 범위 내의 원소들의 합을 빠르게 계산하는 알고리즘입니다. 이 알고리즘은 배열의 누적합 배열을 이용하여 간단하게 구현할 수 있습니다. 누적합 배열은 인덱스 i까지의 합을 저장한 배열로, 배열의 첫 번째 원소는 항상 0으로 초기화합니다. 누적합, 파이썬 def cumulative_sum(arr): cumsum = [0] * (len(arr) + 1) # 누적합 배열 초기화 for i in range(len(arr)): cumsum[i+1] = cumsum[i] + arr[i] # 누적합 계산 return cumsum 위 코드는 누적합 알고리즘을 구현한 Python 함수입니다. 함수는 배열을 인자로 받고, 배열의 ..

ALGORITHM/Concept

[알고리즘] 완전 탐색, 브루트 포스 정의 | 종류 | 장단점 | 예시 (feat. Node.js Brute-Force-Search)

들어가며 알고리즘은 어떤 문제를 해결하기 위한 동작들의 절차입니다. 공간 복잡도와 시간복잡도를 고려해서 무조건 가장 빠르고 효율적인 알고리즘을 사용하면 되지 않을까라는 생각을 할 수 있겠지만 해결하는 문제에 따라서 효율적인 알고리즘이 달라집니다. 그렇기 때문에 알고리즘의 성능과 평가 방법에 대해서 아는 것이 중요하지만 다양한 알고리즘 종류들에 대해서도 알고 있어야 해결하고자 하는 문제를 적절한 방법으로 처리할 수 있게 됩니다. 오늘은 알고리즘의 필수 개념 중 한 가지인 완전 탐색 알고리즘, 브루트 포스 서치에 대해서 알아보려 합니다. 빅오 표기법:Big-O Notation 정의/특징/복잡도/종류/비교/예제 알고리즘의 성능과 평가 만약 우리가 집에서 여행을 떠나기 위해 출발하여 목적지까지 가는 방법에 대한..

ALGORITHM/Concept

빅오 표기법:Big-O Notation 정의/특징/복잡도/종류/비교/예제

알고리즘의 성능과 평가 만약 우리가 집에서 여행을 떠나기 위해 출발하여 목적지까지 가는 방법에 대한 알고리즘을 생각해본다면 여러 방법이 있을 겁니다. 걸어서 가는 방법, 자전거를 타고 가는 방법, 대중교통을 타고 가는 방법 그리고 중간에 카페에 들러 커피를 사거나 서점에 들러 책을 읽다가 갈 수도 있습니다. 이렇게 무수히 많은 경우에 수가 있지만 어떤 방법이 가장 빠르고 효율적인지 판단하기 어렵습니다. 위 제시했던 모든 방법들이 여행지에 도착이라는 목적을 달성하지만 가장 빠르고 효율적으로 도착하지는 않습니다. 알고리즘도 주어진 문제를 해결하기 위해 어떤 알고리즘을 선택해서 해결할지 결정해야 합니다. 시간적 측면과 공간적 측면을 비교하여 어떤 알고리즘을 활용할지 선택을 도울 수 있는 방법을 알아보겠습니다...

ALGORITHM/Concept

정렬 알고리즘 특징/종류/시간 복잡도 [ 선택, 삽입, 버블, 합병, 힙, 퀵, 기수 ]

알고리즘이 무엇인가? 알고리즘은 어떤 문제를 해결하기 위한 동작들의 절차입니다. 일상에서 보면 내가 목적지까지 가기 위한 과정을 말하기도 하고 프로그래밍에서는 입력받은 인풋을 통해서 우리가 원하는 아웃풋을 얻는 과정이라고 볼 수 있습니다. 우리에게 친근한 알고리즘은 나의 유튜브 영상이 관심 있는 사람의 키워드와 맞아 추천되거나 블로그 포스팅이 상위 노출되는 원리이기도 하죠. 인공지능은 특정한 문제를 해결하기 위해 고도화된 알고리즘으로 이루어져 있습니다. 알고리즘 종류는 정말 다양하지만 그중에서 오늘은 정렬 알고리즘 종류 몇 가지를 간단하게 소개해보겠습니다. 우리가 흔히 쓰는 알고리즘은 사실 리듬(rhythm)과 같이 알고리듬(algorithm)으로 읽는 게 맞다는 논쟁이 있다. 정렬 알고리즘의 종류와 복..

인프준
'ALGORITHM/Concept' 카테고리의 글 목록