[Java/알고리즘] 탐색 알고리즘 : 해시 알고리즘(Hash Algorithm) 이해하기 -2 : 문제로 이해하기
·
Java/알고리즘 & 자료구조
해당 글에서는 이전에 이해하였던 해시 알고리즘을 기반으로 자주 처리되는 구조나 문제 풀이의 이해를 돕기 위해 작성한 글입니다. 💡 [참고] 해당 글은 이전에 작성한 글에서 이어지는 내용입니다. [Java/알고리즘] 탐색 알고리즘 : 해시 알고리즘(Hash Algorithm) 이해하기 -1해당 글에서는 탐색 알고리즘 중 해시 알고리즘에 대해 이해를 돕기 위해 작성한 글입니다. 1) 탐색 알고리즘(Searching Algorithm)💡 탐색 알고리즘(Searching Algorithm) - 데이터 구조 내에서 필요한 정보adjh54.tistory.com 1) 주요 메서드 1. HashMap메서드리턴 값설명put(K key, V value)V해시 맵 내에 키와 값을 맵에 추가 및 값 변경get(Object k..
[Java/알고리즘] 탐색 알고리즘 : 해시 알고리즘(Hash Algorithm) 이해하기 -1
·
Java/알고리즘 & 자료구조
해당 글에서는 탐색 알고리즘 중 해시 알고리즘에 대해 이해를 돕기 위해 작성한 글입니다. 1) 탐색 알고리즘(Searching Algorithm)💡 탐색 알고리즘(Searching Algorithm) - 데이터 구조 내에서 필요한 정보를 빠르게 찾아내는 데 사용되는 알고리즘입니다. - 탐색 알고리즘의 종류에 따라 데이터의 크기와 구조 그리고 찾고자 하는 정보의 특성에 따라 탐색 시간이 달라질 수 있습니다. - 따라서 효율적인 탐색 알고리즘을 선택하여 사용하면 비용과 시간을 크게 절약할 수 있습니다. 1. 탐색 알고리즘 종류종류설명시간복잡도선형 탐색(Linear Search)배열이나 리스트를 처음부터 끝까지 순차적으로 탐색하여 원하는 항목을 찾는 탐색 방법입니다.O(n)이진 탐색(Binary Search)..
[Java/알고리즘] 투 포인터 알고리즘(Two Pointer Algorithm) 이해하기 -2: 문제로 이해하기
·
Java/알고리즘 & 자료구조
해당 글에서는 백준 문제를 통해 투 포인터 알고리즘의 이해를 돕기 위해 작성한 글입니다. 💡 [참고] 투 포인터 알고리즘에 대해 궁금하시면 아래의 글을 참고하시면 도움이 됩니다. [Java/알고리즘] 투 포인터 알고리즘(Two Pointer Algorithm) 이해하기 -1 : 종류, 활용방안 해당 글에서는 투 포인터 알고리즘에 대해 이해를 돕기 위해 작성한 글입니다. 1) 투 포인터 (Two Pointer Algorithm) 💡 투 포인터 (Two Pointer Algorithm) - 배열이나 리스트에서 '두 개의 포인터'를 사용하 adjh54.tistory.com 💡 [참고] 투포인터 문제 리스트 문제 백준 번호 링크 수들의 합 5 백준 2018번 https://www.acmicpc.net/probl..
[Java/알고리즘] 투 포인터 알고리즘(Two Pointer Algorithm) 이해하기 -1 : 종류, 활용방안
·
Java/알고리즘 & 자료구조
해당 글에서는 투 포인터 알고리즘에 대해 이해를 돕기 위해 작성한 글입니다. 1) 투 포인터 (Two Pointer Algorithm) 💡 투 포인터 (Two Pointer Algorithm) - 배열이나 리스트에서 '두 개의 포인터'를 사용하여 '특정 조건을 만족하는 부분 구간'을 효율적으로 탐색하는 알고리즘입니다. 일반적으로 배열이나 리스트가 '정렬되어 있을 때' 사용됩니다. - 투 포인터 알고리즘은 보통은 왼쪽 포인터와 오른쪽 포인터를 사용하며, 이들은 각각 탐색 범위의 시작과 끝을 가리킵니다. - 또는 동일한 시점을 기점으로 왼쪽 포인터를 고정한 상태에서 오른쪽 포인터를 이동하고, 조건에 따라 왼쪽 포인터도 이동하며 탐색하는 방식을 가집니다. - 해당 알고리즘은 탐색 범위 내에서 특정 조건을 만족..
[Java/알고리즘] 정렬 알고리즘(Sort Algorithm) 이해하기 -1 : 기본 구조 및 종류
·
Java/알고리즘 & 자료구조
해당 글에서는 정렬 알고리즘에 대해 기본적인 구조와 종류에 대해서 알아봅니다. 💡 [참고] 전체 알고리즘 구성 중에 '정렬 알고리즘'에 대해 알아봅니다. 1) 정렬 알고리즘(Sort Algorithm) 💡 정렬 알고리즘(Sort Algorithm) - ‘데이터’를 ‘특정한 기준에 따라 순서대로 정렬’하는 알고리즘을 의미합니다. 1. 정렬 알고리즘의 특징 💡 정렬 알고리즘의 특징 - 정렬 알고리즘만이 가지고 있는 특징에 대해서 알아봅니다. 특징 설명 시간 복잡도 일부 알고리즘은 작은 데이터 집합에 대해 빠르지만, 큰 데이터 집합에 대해 느릴 수 있습니다. 알고리즘의 시간 복잡도를 고려하여 적절한 정렬 알고리즘을 선택해야 합니다. 안정성 안정적인 정렬 알고리즘은 동일한 값의 순서가 바뀌지 않는 특징을 가지고..
[Java/알고리즘] 깊이 우선 탐색(DFS) / 너비 우선 탐색(BFS) 이해하기 -1 : 이론 및 구조
·
Java/알고리즘 & 자료구조
해당 글에서는 알고리즘 중에서 깊이우선탐색(DFS) / 너비우선탐색(DFS)에 대해서 알아봅니다. 1) 깊이우선탐색(DFS) / 너비우선탐색(DFS) 전체 구조 💡 깊이우선탐색(DFS) / 너비우선탐색(DFS) 전체 구조 - 해당 글에서는 알고리즘 구조에서 ‘탐색 알고리즘’ - ‘완전 탐색’ - ‘비 선형 구조 탐색’에 해당하는 깊이 우선 탐색(DFS) / 너비 우선탐색 (BFS)에 대해 알아봅니다. 💡 [참고] 깊이 우선 탐색(DFS) / 너비 우선 탐색(BFS)을 이해하기 전에 전제로 알면 좋은 알고리즘과 자료구조입니다. 분류 주제 링크 알고리즘 완전 탐색 알고리즘 https://adjh54.tistory.com/196 알고리즘 완전 탐색 알고리즘 : 종료 https://adjh54.tistory.c..
[Java/자료구조] 비선형구조 이해하기 -3 : 그래프 (방향, 무방향 그래프)
·
Java/알고리즘 & 자료구조
해당 글에서는 자료구조에서 비선형구조 중 그래프에 대해 알아봅니다. 💡 [참고] 자료구조의 전체 구조 - 해당 글에서는 자료구조 중 비선형 구조 > 그래프(방향트리/무방향 트리)에 대해 알아봅니다. 1) 비선형 구조(Non Linear) 💡 비선형 구조(Non Linear) - 데이터를 저장하기 위한 방법으로 데이터 간의 관계를 이루면서 ‘계층적인 구조‘를 가지며 ‘일렬로 나열되지 않은 자료구조’ 형태를 의미합니다. - 일련 되지 않은 자료구조는 계층적으로 데이터의 관계가 부모-자식 관계, 연결 관계, 또는 소속 관계 등을 가지고 있어서 계층적이거나 상호 연결되어 있습니다. - 대표적인 비선형 구조는 트리(Tree), 그래프(Graph)등이 이에 해당합니다. 💡 [참고] 비선형 구조에서 트리에 대해 궁금..
[Java/자료구조] 비선형구조 이해하기 - 2 : 균형 트리(AVL, 레드-블랙, B-트리)
·
Java/알고리즘 & 자료구조
해당 글에서는 비선형 구조 중 균형트리를 응용한 AVL, 레드-블랙, B-트리에 대해서 알아봅니다. 💡 [참고] 이전에 작성한 비선형 구조에 이어지는 글입니다. [Java/자료구조] 비선형구조 이해하기 - 1 : 트리(일반트리, 이진트리) 해당 글에서는 자료구조에서 비 선형 구조에 대해 이해하며, 그 종류인 일반트리/이진트리에 대해서 알아봅니다. 💡 [참고] 자료구조의 전체 구조 - 해당 글에서는 자료구조 중 비선형 구조에 adjh54.tistory.com 1) 비 선형구조(Non Linear) 💡 비 선형구조(Non Linear) - 데이터를 저장하기 위한 방법으로 데이터 간의 관계를 이루면서 계층적인 구조를 가지는 ‘일렬로 나열되지 않은 자료구조’ 형태를 의미합니다. - 일련 되지 않은 자료구조는 계..
[Java/자료구조] 비선형구조 이해하기 - 1 : 트리(일반트리, 이진트리)
·
Java/알고리즘 & 자료구조
해당 글에서는 자료구조에서 비 선형 구조에 대해 이해하며, 그 종류인 일반트리/이진트리에 대해서 알아봅니다. 💡 [참고] 자료구조의 전체 구조 - 해당 글에서는 자료구조 중 비선형 구조에 대해 알아봅니다. 1) 비선형 구조(Non Linear) 💡 비 선형구조(Non Linear) - 데이터를 저장하기 위한 방법으로 데이터 간의 관계를 이루면서 ‘계층적인 구조‘를 가지며 ‘일렬로 나열되지 않은 자료구조’ 형태를 의미합니다. - 일련 되지 않은 자료구조는 계층적으로 데이터의 관계가 부모-자식 관계, 연결 관계, 또는 소속 관계 등을 가지고 있어서 계층적이거나 상호 연결되어 있습니다. - 대표적인 비선형 구조는 트리(Tree), 그래프(Graph)등이 이에 해당합니다. [ 더 알아보기 ] 💡 계층적인 구조?..
[Java/자료구조] 선형구조 - 연결 리스트 이해하기 : 단순, 이중, 순환 연결리스트
·
Java/알고리즘 & 자료구조
해당 글에서는 자료구조에서 선형 구조 중 연결 리스트에 대해 알아봅니다. 💡 [참고] 자료구조론 구조 - 선형구조 중 연결리스트와 종류인 단순, 이중, 순환 연결 리스트를 확인해 봅니다. 1) 선형 구조(Linear Structure) 💡 선형 구조(Linear Structure)란? - 데이터를 저장하기 위한 기본적인 형태로 데이터가 '일렬로 나열'되어 있을 뿐만 아니라 데이터 간에 순서가 있고 논리적으로 이어져 있는 구조를 의미합니다. - 선형 구조에는 순차 리스트, 연결 리스트, 큐(Queue), 스택(Stack), 덱(deque)이 있습니다. 💡 [참고] 이외에 선형구조에 대해 궁금하시면 아래의 글을 참고하시면 도움이 됩니다 [Java/자료구조] 선형 구조 - 순차 리스트(Sequential Li..