/users
/posts
/slides
/apps
/books
mysetting
/users
/posts
/slides
/apps
/books
1:15 5/31
velog.io
1:15
velog.io
jwlee010523.log
https://velog.io/@jwlee010523
20학번 새내기^^
저작도구: velog
최종 피드 수집: 2025-01-15 08:46
전체 (88)
2d
Swift - 열거형 매칭(Enumeration Matching)
스위프트 열거형은 단순히 특정 상태를 표현하는 것을 넘어서 연관 값을 저장하고, 이 값을 통해 더 많은 정보를 포함할 수 있는 데이터 구조입니다. 특히, 열거형과 함께 사용되는 패턴 매칭(Pattern Matching)은 코드를
0
0
0
읽기모드
3d
JAVA - 파일 입출력 스트림(File I/O Stream)
스트림 입출력이란?
스트림(Stream)이란 흐르는 시냇물을 뜻하며, 컴퓨터 공학에서 스트림은 연속적인 데이터의 흐름 혹은 데이터 흐름을 형성해 주는 통로를 가라킨다.
즉, 각종 I/O 장치와의 데이터 이동에 사용되는 객체를 의미
0
0
0
읽기모드
4d
알고리즘 - 해싱(Hashing)
해싱이란
대부분의 탐색 방법들은 키 값 비교로써 탐색하고자 하는 항목에 접근
해싱(hashing): 키 값에 대한 산술적 연산에 의해 테이블의 주소를 계산하여 항목에 접근
해시 테이블(hash table): 키 값의 연산에 의해
0
0
0
읽기모드
5d
순환과 재귀(Recursion)
순환
재귀적 알고리즘에서 순환은 재귀 호출의 반복적 구조를 의미하며, 이는 문제가 작은 부분 문제로 계속 나뉘고, 그 결과를 결합하여 최종 결과를 도출하는 과정이다.
순환의 예
순환은 본질적으로 순환적인 문제가 그러한 자료구조를
0
0
0
읽기모드
9d
2-3트리
2-3 트리
균형 이진 탐색 트리의 일종으로, 각 노드가 2개 또는 3개의 자식을 가질 수 있는 트리 구조이다. 이 트리는 항상 균형을 유지하여 탐색, 삽입, 삭제 등의 연산이 효율적으로 수행되도록 보장한다.
노드의 종류
2-노드
0
0
0
읽기모드
10d
이진 탐색 트리(BST: Binary Search Tree)
이진 탐색 트리
이진 탐색 트리는 근본적으로 이진 탐색과 같은 원리이다. 하지만 이진 탐색은 자료들이 배열에 저장되어 있으므로 삽입과 삭제할 때마다 앞뒤의 원소들을 이동시켜야 하기 때문에 비효율적이다. 반면에 이진 탐색 트리는 비
0
0
0
읽기모드
11d
보간 탐색(Interpolation Search)
보간 탐색
보간 탐색은 정렬된 배열에서 특정 값을 찾기 위한 탐색 알고리즘으로, 탐색키가 존재할 위치를 예측하여 탐색하는 방법이다.
보간 탐색은 이진 탐색과 유사하나 리스트를 반으로 분할하지 않고 불균등하게 분할하여 탐색한다. 배
0
0
0
읽기모드
15d
색인 순차 탐색(Indexed Sequential Search)
색인 순차 탐색
색인 순차 탐색 방법은 순차 탐색과 이진 탐색의 장점을 결합한 탐색으로, 인덱스라 불리는 테이블을 사용하여 탐색의 효율을 높이는 방법이다. 인덱스 테이블은 주 자료 리스트에서 일정 간격으로 발췌한 자료를 가지고 있
0
0
0
읽기모드
16d
Swift - 매개변수 이름 정하기
Swift에서 메서드 매개변수명으로 for, in, using 등의 키워드를 사용하는 것은 특별한 문법적 의미를 가진 것이 아닙니다. 대신, 이러한 키워드는 메서드의 가독성을 높이고 코드가 더 자연스럽게 읽히도록 돕기 위해 사용됩
0
0
0
읽기모드
17d
이진 탐색(Binary Search)
이진 탐색은 정렬된 배열에서 원하는 값을 빠르게 찾는 탐색 알고리즘이다. 이 알고리즘은 탐색 범위를 매 단계마다 절반으로 줄여 효율적으로 값을 얻는다.
이진 탐색의 특징
데이터가 반드시 정렬되어 있어야 한다.
데이터의 크기가 클수
0
0
0
읽기모드
21d
순차 탐색(Sequential Search)
순차 탐색
순차 탐색은 탐색 방법 중에서 가장 간단하고 직접적인 탐색 방법이다. 이름에서도 알 수 있다시피 처음부터 끝까지 모두 확인하여 원하는 항목을 찾아가는 방법이다. 코드는 다음과 같다.
int seq_search(int k
0
0
0
읽기모드
23d
기수 정렬(Radix Sort)
기수 정렬
비교 기반 정렬 알고리즘이 아닌 정렬 방식으로, 데이터를 자리수에 따라 처리하여 정렬한다. 주로 정수나 문자열과 같은 데이터를 정렬하는데 사용되며, 안정 정렬(stable sort)에 속한다. 기수 정렬은 데이터를 가장
0
0
0
읽기모드
24d
퀵 정렬(Quick Sort)
퀵 정렬(Quick Sort)
퀵 정렬은 분할 정복 알고리즘의 일종으로, 리스트를 정렬하는 효율적인 방법 중 하나이다. 작동 원리는 다음과 같다.
작동 원리
1. 피벗 선택(Pivot)
정렬한 리스트에서 하나의 기준 값(피벗)을
0
0
0
읽기모드
26d
합병 정렬(Merge Sort)
합병 정렬
합병 정렬은 하나의 리스트를 두 개의 균등한 크기로 분할하고 분할된 부분 리스트를 정렬한 다음, 두 개의 정렬된 부분 리스트를 합하여 전체가 정렬된 리스트를 얻고자 하는 것이다. 합병 정렬은 분할 정복 기법에 바탕을 두
0
0
0
읽기모드
26d
버블 정렬(Bubble Sort)
버블 정렬
버블 정렬은 정렬 알고리즘 중 가장 기본적인 형태로, 서로 인접한 두 요소를 비교하여 정렬하는 방식이다. 간단하지만, 효율성 측면에서는 다른 정렬 알고리즘에 비해 떨어진다.
작동 원리
배열의 처음부터 시작하여 인접한 두
0
0
0
읽기모드
29d
알고리즘 - 쉘 정렬(Shell Sort)
쉘 정렬
쉘 정렬은 삽입 정렬의 일반화된 형태로, 데이터의 정렬 속도를 높이기 위해 고안된 정렬 알고리즘이다. 삽입 정렬은 데이터가 거의 정렬된 상태에서 빠르게 동작하지만, 데이터가 무작위로 배치된 경우에는 성능이 떨어진다. 쉘
0
0
0
읽기모드
30d
삽입 정렬(Insertion Sort)
삽입 정렬
삽입 정렬은 간단하면서도 효율적인 정렬 알고리즘 중 하나로, 주로 데이터 양이 적거나 거의 정렬된 경우에 적합하다. 삽입 정렬은 배열의 요소를 하나씩 순회하며, 현재 요소를 정렬된 부분에 적절한 위치에 삽입하는 방식으로
0
0
0
읽기모드
1M
선택 정렬(Selection Sort)
선택 정렬
선택 정렬은 간단한 정렬 알고리즘 중 하나로, 배열이나 리스트를 정렬하는 데 사용된다. 동작 과정은 다음과 같다.
동작 과정
주어진 리스트에서 최소값(또는 최대값)을 찾는다.
찾은 값을 현재 정렬되지 않은 부분의 첫
0
0
0
읽기모드
1M
위상 정렬(Topological Sorting)
위상 정렬(Topological Sorting)
위상 정렬은 방향성이 있는 비순환 그래프(DAG)의 정점들을 선형적으로 나열하는 정렬 방법이다.
이 정렬은 그래프의 간선 방향에 따라 특정 순서를 유지해야 할 때 유용하다. 예를 들
0
0
0
읽기모드
1M
JAVA - 제네릭(Generics)과 컬렉션(Collection)
제네릭(Generics)
제네릭은 모든 종류의 타입을 다룰 수 있도록, 클래스나 메서드를 타입 매개변수를 이용하여 선언하는 기법이다. 이는 C++의 템플릿과 동일하다.
제네릭 타입 매개변수
컬렉션 클래스에서 타입 매개변수로 사용하
0
0
0
읽기모드
About
Badge
Contact
Activity
Terms of service
Privacy Policy