본문 바로가기
반응형

프로그래밍/JAVA58

초보 자바 프로그래밍(28) - 해시검색 (Hash Search) 🔖 INDEX 해시 검색(hash search)은 해시 테이블(hash table)이라는 자료 구조를 사용하여 빠르게 원하는 값을 찾을 수 있는 검색 방법입니다. 해시 테이블은 키(key)와 값(value)을 저장하는 데 사용되며, 해시 함수(hash function)를 사용하여 키를 해시 값으로 변환합니다. 해시 값은 해시 테이블 내의 인덱스로 사용되어 효율적인 검색, 삽입 및 삭제를 가능하게 합니다. 해시 검색의 작동 방식 및 구현 예제 해시 검색의 작동 방식은 다음과 같습니다: 해시 함수를 사용하여 키를 해시 값으로 변환합니다. 해시 값으로 해시 테이블 내의 인덱스를 찾습니다. 인덱스에 저장된 값을 검색, 삽입 또는 삭제합니다. 자바에서 해시 검색 알고리즘을 구현할 때, HashMap 클래스를 사용.. 2023. 5. 2.
초보 자바 프로그래밍(27) - 이진검색 (Binary Search) 🔖 INDEX 이진 검색 (Binary Search)은 정렬된 배열에서 효율적으로 값을 찾는 알고리즘입니다. 이진 검색은 배열의 중간 요소를 확인하여 찾고자 하는 값이 중간 요소보다 큰지 작은지를 판단합니다. 찾고자 하는 값이 중간 요소보다 작으면 중간 요소 왼쪽의 절반을 검색하고, 찾고자 하는 값이 중간 요소보다 크면 중간 요소 오른쪽의 절반을 검색합니다. 이 과정을 반복하면서 원하는 값을 찾습니다. 이진 검색의 작동 방식 이진 검색의 작동 방식은 다음과 같습니다: 배열의 가운데 요소를 확인합니다. 가운데 요소가 원하는 값과 일치하면 해당 요소의 인덱스를 반환합니다. 가운데 요소가 원하는 값보다 크면, 배열의 왼쪽 절반(가운데 요소보다 작은 값들)에서 검색을 계속합니다. 가운데 요소가 원하는 값보다 작.. 2023. 5. 2.
초보 자바 프로그래밍(26) - 선형검색 (Linear Search) 🔖 INDEX 선형 검색은 가장 간단한 검색 알고리즘입니다. 배열의 처음부터 끝까지 순차적으로 원하는 값을 찾을 때까지 각 요소를 검사합니다. 선형 검색은 정렬되지 않은 배열 또는 연결 리스트와 같은 자료 구조에서 사용할 수 있습니다. 선형 검색의 작동 방식 선형 검색의 작동 방식은 다음과 같습니다: 배열의 첫 번째 요소부터 시작하여 원하는 값과 비교합니다. 원하는 값과 일치하는 요소를 찾을 때까지 배열의 요소를 순차적으로 검사합니다. 원하는 값과 일치하는 요소를 찾으면 해당 요소의 인덱스를 반환합니다. 배열의 마지막 요소까지 검사했음에도 원하는 값과 일치하는 요소를 찾지 못한 경우, 값이 배열에 없다고 판단하여 -1 또는 적절한 오류 코드를 반환합니다. 선형 검색의 특징 선형 검색의 장점은 다음과 같습.. 2023. 5. 2.
초보 자바 프로그래밍(25) - 팀정렬 (Tim Sort) 🔖 INDEX 팀 정렬(Tim Sort)은 파이썬에서 기본 정렬 알고리즘으로 사용되는 안정적인 비교 기반 정렬 알고리즘입니다. 팀 정렬은 병합 정렬(Merge Sort)과 삽입 정렬(Insertion Sort)의 아이디어를 결합한 하이브리드 알고리즘으로, 실제 데이터의 특성을 고려해 높은 성능을 발휘합니다. 팀 정렬의 작동 원리 팀 정렬의 작동 원리는 다음과 같습니다: ​ 배열을 연속된 작은 부분 배열(subarrays)로 분할합니다. 이 부분 배열들은 이미 정렬되어 있거나 거의 정렬된 상태일 수 있습니다. 이러한 부분 배열을 '런(run)'이라고 합니다. 삽입 정렬을 사용하여 각 런을 정렬합니다. 작은 크기의 런에서는 삽입 정렬이 상대적으로 빠른 속도를 보입니다. 병합 정렬의 병합 과정을 사용하여 인접.. 2023. 5. 2.
초보 자바 프로그래밍(24) - 기수정렬 (Radix Sort) 🔖 INDEX 기수 정렬(Radix Sort)은 정수 및 문자열과 같은 비교가 아닌 데이터를 정렬하는 알고리즘입니다. 기수 정렬은 대표적으로 Least Significant Digit (LSD) 기수 정렬과 Most Significant Digit (MSD) 기수 정렬이 있습니다. 이 알고리즘은 각 자릿수의 값에 따라 데이터를 분류하고 정렬하는 방식을 사용합니다. 기수 정렬의 작동 원리 기수 정렬의 작동 원리는 다음과 같습니다. Least Significant Digit (LSD) 기수 정렬 가장 낮은 자릿수(일의 자리)부터 시작하여 각 숫자를 비교합니다. 각 숫자를 해당 자릿수의 값에 따라 버킷(bucket)에 저장합니다. 버킷에 저장된 숫자를 순서대로 다시 배열에 복사합니다. 다음 자릿수로 넘어가 1.. 2023. 5. 2.
초보 자바 프로그래밍(23) - 힙정렬 (Heap Sort) 🔖 INDEX 힙 정렬(Heap Sort)은 이진 힙(Binary Heap)이라는 자료구조를 사용하여 배열을 정렬하는 비교 기반 정렬 알고리즘입니다. 이진 힙은 완전 이진 트리(Complete Binary Tree)로서, 부모 노드의 값이 자식 노드의 값보다 항상 크거나 작은 특성을 가집니다. 힙 정렬은 이 특성을 이용해 배열을 정렬합니다. 힙 정렬의 작동 원리 힙 정렬의 작동 원리는 다음과 같습니다: ​ 배열을 이진 힙으로 변환합니다. 배열을 이진 힙으로 변환하는 과정은 일반적으로 배열의 원소들을 차례대로 삽입하는 방식으로 구현됩니다. 이 과정에서 최대 힙(Max-Heap) 또는 최소 힙(Min-Heap) 중 하나를 선택해야 합니다. 최대 힙을 사용하면 오름차순으로 정렬되고, 최소 힙을 사용하면 내림차.. 2023. 5. 2.
반응형