해쉬테이블과 Linear Probing에 관한 정리
해쉬테이블과 Linear Probing에 관한 정리 CS/알고리즘 2023. 9. 5. 08:44

해쉬테이블 구조 해쉬테이블이란 key, value 형태로 값을 저장하여 빠르게 key값만 가지고 데이터를 검색할 수 있습니다. 이러한 해쉬테이블은 key값은 중복이 되면 안되고, value값은 중복될 수 있는데요. 쉽게 설명하면 웹사이트에서 id로 쓰는 값이 key값이고 password가 value값입니다. id는 같은 사람이 없지만 password는 (우연할지라도) 같을 수 있는 것과 같습니다. 그러면 이 key값은 어떻게 보관할까요? 해쉬테이블이 key 값을 저장하는 방법 해쉬테이블은 hash function에서 key값을 가져와 특정 연산을 하여 인덱스 값을 계산하는데 이를 해싱이라고 합니다. 해싱을 사용하면 키의 데이터 타입이나 크기에 상관없이 일정한 크기의 해시코드를 생성할 수 있습니다. 그리고..

소수 판별 알고리즘 개선하기
소수 판별 알고리즘 개선하기 CS/알고리즘 2023. 8. 17. 14:01

소수 판별 알고리즘 소수는 1과 n으로만 나누어 떨어지는 정수입니다. 예를들어 1000 이하의 소수를 구하는 방법을 코드로 구현하려면 아래와 같이 일일이 1부터 n까지 나누는 계산을 하는 방법이 있습니다. public class Main { public static void main(String[] args) { int count = 0; // 나눗셈을 시행한 횟수 for (int n = 2; n

선택정렬 정리
선택정렬 정리 CS/알고리즘 2023. 5. 17. 23:35

선택정렬이란 '가장 작은 것을 선택해서 앞으로 보내는 정렬 알고리즘'입니다. 예를들어, 1 10 5 8 7 6 4 3 2 9 라는 수가 있고 이것을 1 2 3 4 5 6 7 8 9 10으로 정렬하고 싶을 때 선택정렬을 이용할수 있습니다. public class SelectionSort { public static void main(String[] args) { int[] array = {1, 10, 5, 8, 7, 6, 4, 3, 2, 9}; selectionSort(array); for (int num : array) { System.out.print(num + " "); } } public static void selectionSort(int[] arr) { int n = arr.length; for..

image