📚 Data Architect/Data Structure2023. 4. 13. 20:41Iterator

💡 Iterator 자바의 컬렉션 프레임워크에서 컬렉션의 요소들을 읽어오는 방법을 표준화 하였는데 그 중 하나가 Iterator 이다. Iterator와 Iterable은 Collection의 상위 인터페이스이다. 상향된 for문을 쓰기위한 인터페이스 구현 Iterator의 구현 메서드 boolean hasNext() -> 다음 요소가 있다면 true 반환 E next() -> 포인터 void remove() void forEachRemaning(Consumer actions) Iterable의 구현 메서드 Iterator iterator() void forEach(Consumer actions) Spliterator spliterator() Iterator 인터페이스 hasNext() 임시포인터를 만들..

📚 Data Architect/Data Structure2023. 4. 13. 20:39Time Complexity (시간 복잡도 - Big O Notation)

💡 시간복잡도 서로 다른 알고리즘의 효율성을 비교할 때 사용 시간복잡도 효율순 : O(1) < O( 𝑙𝑜𝑔𝑛 ) < O(n) < O(n 𝑙𝑜𝑔𝑛 ) < O( 𝑛2 ) < O( 2𝑛 ) < O(n!) Big O 표기법이란? - O (빅 오 복잡도) : 비교 대상인 그래프가 일치 혹은 아래에 있을 때. 비교 대상인 다른 알고리즘과 같거나 더 빠르다. - θ (세타 복잡도) : 비교 대상인 그래프가 일치할 때. 비교 대상인 다른 알고리즘과 같다. - Ω (빅 오메가 복잡도) : 비교 대상인 그래프가 일치 혹은 위에 있을 때. 비교 대상인 다른 알고리즘과 같거나 느리다. - o (리틀 오 복잡도) : 비교 대상인 그래프가 아래에 있을 때. 비교 대상인 다른 알고리즘보다 더 빠르다. - ω (리틀 오메가 복잡도)..

📚 Data Architect/Data Structure2023. 4. 13. 20:29자료구조 기본 개념

💡 자료 구조 여러 데이터들의 묶음을 저장하고 사용하는 방법을 정의한 것 자료의 집합, 각 원소들 사이의 관계가 논리적 정의된 일정한 규칙에 의하여 나열되며, 자료처리의 효율성을 위해 조직&체계적으로 구분하여 표현한 것 (알고리즘 테스트 시 자주 등장하는 Stack,Queue,Tree,Graph 등) 자료구조의 경계 조건 자료 구조가 비어있는 경우 자료 구조에 단 하나의 요소가 들어있을 때 자료 구조의 첫 번째 요소를 제거하거나 추가할 때 자료 구조의 마지막 요소를 제거하거나 추가할 때 자료 구조의 중간 부분을 처리할 때 학습 포인트 각 자료구조가 가진 특징 각 자료구조를 사용하기 적합한 상황 판단 다른 구조와의 차이점을 이해하기 위해 자료구조 내부 직접구현 구현 시, 동작원리 이해하기 자료구조를 배워야..

image