선형 탐색 (Linear Search)이진 탐색 (Binary Search)점프 탐색 (Jump Search)보간 탐색 (Interpolation Search)지수 탐색 (Exponential Search)깊이 우선 탐색 (Depth-First Search, DFS)너비 우선 탐색 (Breadth-First Search, BFS) 지수 탐색지수 탐색은 정렬된 배열에서 요소를 빠르게 찾기 위해 사용하는 탐색 알고리즘으로, 이진 탐색과 함께 사용됩니다. 특히, 탐색 범위를 알 수 없는 배열이나 크기가 큰 정렬된 리스트에서 효율적입니다. 탐색할 값의 예상 위치에 빠르게 접근한 후, 이진 탐색을 통해 정확한 위치를 찾는 방식으로 작동합니다. 1. 특징이진 탐색을 기반으로 한 빠른 탐색: 지수적으로 증가하는 간..
선형 탐색 (Linear Search)이진 탐색 (Binary Search)점프 탐색 (Jump Search)보간 탐색 (Interpolation Search)지수 탐색 (Exponential Search)깊이 우선 탐색 (Depth-First Search, DFS)너비 우선 탐색 (Breadth-First Search, BFS) 보간 탐색보간 탐색은 데이터가 균일하게 분포된 정렬된 배열에서 빠르게 값을 찾기 위한 탐색 알고리즘입니다. 이진 탐색과 유사하지만, 중간 위치 대신 실제 값에 근거한 예상 위치를 탐색하는 방식입니다. 특히, 큰 데이터셋에서 키 값의 분포가 균일한 경우 유용합니다. 1. 특징예상 위치 기반 탐색: 보간 탐색은 찾으려는 값이 어디에 위치할지 추정하여 해당 위치부터 탐색을 시작합니..
선형 탐색 (Linear Search)이진 탐색 (Binary Search)점프 탐색 (Jump Search)보간 탐색 (Interpolation Search)지수 탐색 (Exponential Search)깊이 우선 탐색 (Depth-First Search, DFS)너비 우선 탐색 (Breadth-First Search, BFS) 점프 탐색점프 탐색은 정렬된 배열에서 원하는 값을 찾기 위해 고안된 알고리즘으로, 데이터의 특정 구간을 건너뛰며 탐색하여 효율성을 높입니다. 이진 탐색보다 비교 횟수가 적으며, 특히 매우 큰 배열에서 유용하게 사용됩니다. 1. 특징구간 탐색: 탐색 과정에서 배열을 작은 블록 단위로 나누고, 일정한 크기로 건너뛰며 목표값을 찾습니다.정렬된 데이터 필요: 점프 탐색은 데이터가 오..
선형 탐색 (Linear Search)이진 탐색 (Binary Search)점프 탐색 (Jump Search)보간 탐색 (Interpolation Search)지수 탐색 (Exponential Search)깊이 우선 탐색 (Depth-First Search, DFS)너비 우선 탐색 (Breadth-First Search, BFS) 이진 탐색이진 탐색은 정렬된 배열이나 리스트에서 원하는 값을 효율적으로 찾기 위해 사용하는 알고리즘입니다. 배열을 절반씩 나누어 탐색 대상을 좁혀가며 빠르게 원하는 값을 찾을 수 있으며, 특히 대규모 데이터셋에서 유용합니다. 1. 특징분할 정복 방식: 탐색 범위를 계속해서 절반으로 줄여 나가는 방식입니다. 매번 중간 값을 기준으로 탐색 범위를 좁혀가므로 탐색 속도가 빠릅니다...
선형 탐색 (Linear Search)이진 탐색 (Binary Search)점프 탐색 (Jump Search)보간 탐색 (Interpolation Search)지수 탐색 (Exponential Search)깊이 우선 탐색 (Depth-First Search, DFS)너비 우선 탐색 (Breadth-First Search, BFS) 선형 탐색선형 탐색은 탐색 알고리즘 중 가장 간단한 형태로, 배열이나 리스트 등의 자료구조에서 원하는 값을 찾을 때 처음부터 끝까지 순차적으로 비교하면서 찾는 방식입니다. 다른 복잡한 알고리즘에 비해 구현이 쉽고 직관적이어서 소규모 데이터셋에서 자주 사용됩니다. 1. 특징순차적 탐색: 시작 위치에서 끝까지 모든 요소를 순서대로 탐색하므로, 값이 배열의 앞에 있든 끝에 있든 일..
제네릭(Generic)과 메소드 오버로딩(Overloading)은 자바에서 자주 사용하되는 강력한 기능 중 하나입니다. 하지만 이 두가지가 결합될 때, 컴파일 시점과 런타임 시점에서의 동작 방식에 차이가 생깁니다. 이번 포스팅에서는 간단한 예제를 통해 그 차이를 알아보겠습니다. ※ 제네릭 : 컴파일 시점에 타입을 지정하지 않고, 런타임에 구체적인 타입이 확정되는 방식으로 타입 안정성을 보장합니다. ※ 오버로딩 : 같은 이름의 메서드를 매개변수의 타입이나 개수에 따라 여러 개 정의하고, 호출 시점에 적합한 메서드를 선택하는 기능입니다. 1. 예제 코드class GenericOverloadingExample { public static void main(String[] args) { ne..

Vue.js 는 심플하면서도 확정성이 높은 프레임워크로 개인 프로젝트나 대규모 엔터프라이즈 애플리케이션에서도 효율적으로 사용할 수 있습니다. Vue.js를 사용하면 더 직관적이고, 가독성 좋은 코드를 작성하면서도 빠르고 매끄러운 웹 애플리케이션을 구현할 수 있습니다. PC에 Vue.js를 설치하는 방법과 간단한 예제(Todo List)를 통해 사용방법에 대해 알아보겠습니다. 1. nodejs 설치아래 URL로 접속합니다.https://nodejs.org/en/download/prebuilt-installer 2. Vue CLI 설치cmd 창을 열고 npm을 사용해 전역으로 설치합니다.npm install -g @vue/cli설치 후, vue --version 명령어를 통해 정상설치 되었는지 확인 가능합니..

MongoDB는 NoSQL 데이터베이스로, 비관계형 데이터베이스 모델을 사용하는 것이 가장 큰 특징입니다. 스키마리스 구조로 고정된 스키마가 없기 때문에 데이터의 구조를 유연하게 관리할 수 있을뿐더러 샤딩을 통해 데이터를 여러 서버에 분산해 저장하고, 이를 통해 대량의 데이터를 처리할 수 있는 수평적 확장을 지원합니다. 윈도우에 MongoDB 를 설치하는 방법과 SpringBoot를 통해 MongoDB를 사용하는 방법에 대해 알아보겠습니다. 1. 윈도우 MongoDB 설치아래 경로로 접속하여 커뮤니티 버전을 다운로드합니다.https://www.mongodb.com/try/download/communityComplete : 기본Custom : 사용자설정저는 Complete로 진행하였습니다.원하는 경로로 지..

앱 공부 할 겸 안드로이드 공식 언어인 코틀린으로 벽돌 깨기 게임을 간단하게 만들어 보았습니다. 복잡한 기능은 구현하지 않고 기본적인 기능만 구현하였으니 가볍게 봐주시길 바랍니다. 전체소스는 Github를 참고해 주세요. 1. 프로젝트 구조+---java| \---com| \---cyb| \---brickbraker| | MainActivity.kt| || +---common| | Constants.kt| || +---components| | Ball.kt| ..

최근 유행하는 캐릭터 맞히기 게임을 아이와 함께 즐기다 보니, 흥미가 생겨 직접 만들어보게 되었습니다. 관심 있으신 분들은 한번 참고해보세요! 전체소스는 Github 를 참고해주세요. SpringBoot + Thymeleaf + MariaDB 로 작성되었습니다. 주요 기능일반 모드: 10문제, 20문제, 50문제 중 선택하여 플레이 가능데스매치 모드: 제한 시간과 목숨을 두고 도전하는 스릴 있는 게임 모드공부하기 모드: 게임을 즐기면서 캐릭터에 대해 학습할 수 있는 기능랭킹 시스템: 사용자들의 기록을 기반으로 랭킹을 조회하는 기능메뉴 및 문제 등록: 게임에 사용할 캐릭터와 문제들을 자유롭게 등록 가능 1. 메인화면게임을 선택할 수 있는 메인 화면입니다. 원하는 만화를 선택하여 게임을 진행할 수 있습니다...
- Total
- Today
- Yesterday