2024/09 3

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

이 포스팅은 '누구나 자료구조와 알고리즘 개정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

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

이 포스팅은 '누구나 자료구조와 알고리즘 개정2판' 을 스터디한 내용을 바탕으로 작성하는 공부기록이다. 자료구조 용어데이터 : 기초적인 수와 문자열자료구조 : 데이터를 조직하는 방법으로 같은 데이터를 다양한 방식으로 조직할 수 있다. → 데이터 조직은 그 방식에 따라 코드의 실행 속도에 영향을 미친다.속도 측정'연산이 얼마나 빠른가'를 측정한다.이때, 측정은 얼마나 많은 단계가 필요한지를 논해야 한다.배열크기 : 배열에 데이터 원소가 얼마나 들어있는지인덱스 : 특정 데이터가 배열의 어디에 있는지연산읽기 : 위치를 찾아보는 것배열은 각 인덱스에 특정 메모리 주소를 가지고 있고, 컴퓨터는 모든 메모리 주소에 한 번에 갈 수 있다.→ 배열의 읽기는 한 단계로 끝나는 가장 빠른 연산 유형이며 강력한 자료 구조이..

TIL/자료구조 2024.09.10
728x90