2024/09/11 2

[알고리즘] 선형검색과 이진검색 (누구나 자료구조와 알고리즘 도서 스터디)

이 포스팅은 '누구나 자료구조와 알고리즘 개정2판' 을 스터디한 내용을 바탕으로 작성하는 공부기록이다. 알고리즘어떤 과제를 완수하는 명령어 집합어떤 자료 구조를 이미 결정했더라도 코드의 효율성에 영향을 미칠 수 있는 중요한 요인 선형 검색왼쪽에서 오른쪽으로 한 번에 한 셀씩 확인하며 값을 찾는 방식원소 수만큼 단계가 필요하다. (N개의 원소가 있을 때 검색에 필요한 단계는 N단계)이진 검색계속해서 중간 지점을 골라 남은 수 중 반을 제거해 나가며 값을 찾는 방식.정렬된 배열에서만 쓸 수 있다.원소 수를 두 배로 늘릴 때마다 검색에 필요한 단계는 한 단계만 늘어난다. (대단히 효율적인 부분)구현public static void main(String[] args) { // 이진검색 구현 실습 int[] ar..

TIL/알고리즘 2024.09.11

[자료구조] 집합 (누구나 자료구조와 알고리즘 도서 스터디)

이 포스팅은 '누구나 자료구조와 알고리즘 개정2판' 을 스터디한 내용을 바탕으로 작성하는 공부기록이다. 집합중복값을 허용하지 않는 자료구조연산(배열 기반 집합)읽기 : 배열과 마찬가지로 한 단계로 끝난다.검색 : 최대 N단계삽입중복값을 허용하지 않는다는 제약에 의해 삽입하려는 값이 이미 있는지 검색이 우선되어야 한다.맨 끝에 삽입하는 경우 N+1단계가 필요하고, 최악의 경우 맨 앞에 삽입할 때 N개를 검색하고 N단계를 거쳐 데이터 이동 후 값을 삽입하는 1단계로 총 2N+1단계가 필요하다.삭제 : 최대 N단계 삽입의 경우 일반적인 배열보다 느리지만 중복 금지가 지켜져야 할 경우는 집합이 답이며, 이는 곧 애플리케이션의 요구사항에 따라 어떤 자료구조가 더 적합한지를 결정해야 함을 의미한다.

TIL/자료구조 2024.09.11
728x90