Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL - Day 7
#book_club
8개월 전
420
1

Day 7

오늘 읽은 범위 : 에피소드 22. 자료구조와 알고리즘은 필수라고? ~ 25. 검색알고리즘이 뭐죠?

💡 오늘 TIL 3줄 요약

  • 알고리즘 + 자료구조 → 컴퓨터 속도에 큰 영향을 준다구~!

  • Big - O는 알고리즘으로 작업을 완료할 때가지 걸리는 절차 수 N을 이용함

  • 검색 알고리즘의 선형, 이진 검색 알고리즘 중에서 이진 검색 알고리즘이 효율적이라구~!

💡 책에서 기억하고 싶은 내용 작성

[ 알고리즘 ]

  • 컴퓨터에게 내리는 지시 사항을 나열한 것

  • 문제를 해결하기 위한 단계적인 절차나 방법을 정의한 것

  • 패스파인더 알고리즘 : 목적지까지 최대한 빨리 가는 방법

  • 압축 알고리즘 : 이미지 최대한 손상하지 않고 용량을 줄이는 방법

[ 자료구조 ]

  • 자료구조의 자료는 데이터를 의미

  • 데이터를 보기 좋게 보관 + 찾기 좋게 보관 → 어떤 자료구조를 사용하는지에 따라 속도에 영향을 줌

  • 데이터 크기 기준, 검색을 위한 인덱스 구조, 생성 시간 구조 등

[ 시간복잡도 ]

  • 프로그램의 작업 속도가 얼마나 빠른지 측정 방법

  • 5단계 / 20 단계가 있다면 5단계만 필요한 코드의 작업 속도가 빠름

  • 알고리즘으로 작업을 완료할 때까지 걸리는 절차 수 N → O(N), O(log N) [빅오 표기법]

  • 선형 검색 알고리즘 : 배열의 길이가 N 이니 총 N번 검색 → O(N)

[ 메모리 ]

  • 컴퓨터의 기억 공간

    • 휘발성 메모리

      대표적으로 램

      컴픁러를 끄면 램에 있는 데이터 전부 사라짐

    • 비휘발성 메모리

      컴퓨터의 하드 드라이브 → C 드라이브, D 드라이브

      켬퓨터를 껐다가 다시 켜도 데이터가 남아있음

[ 배열 ]

  • 배열은 램에 줄줄이 이어진 형태로 공간을 차지하고 있음

  • 컴퓨터는 배열의 시작 주소와 길이를 알고 있음 → 배열은 “읽는” 속도가 빠름

  • 배열은 맨 앞부터 차곡차곡 채워져 있음 → 삽입 과 삭제가 느림

[Big - O]

  • 실행 단계에 영향을 주는 요소만 봄

  • O(1)

  • O(N)

  • O(N2)

[ 검색 알고리즘 ]

  • 선형 검색 알고리즘

    배열이나 리스트와 같은 자료구조에서 특정 값을 찾는 알고리즘 중 가장 기본적인 방법

    선형 검색은 데이터를 처음부터 끝까지 하나씩 차례대로 비교하여 원하는 값을 찾는 방법

    이 알고리즘은 간단하지만 큰 규모의 데이터에서는 효율적이지 않을 수 있음

  • 이진 검색 알고리즘

    정렬된 배열에서 특정 값을 효율적으로 찾는 알고리즘 → 특정 자료구조에서만 사용이 가능함

    이진 검색은 배열의 중간 요소와 찾고자 하는 값을 비교하여 값이 작으면 중간 요소의 왼쪽 반을, 값이 크면 오른쪽 반을 탐색하는 방법을 사용

    이 과정을 반복하여 값을 찾거나 탐색 범위가 축소될 때까지 진행함

    이진 : 두 개의 상태 또는 선택지

💡 오늘 읽은 소감은? 떠오르는 생각 가볍게 적어보기

  • 자료구조, 알고리즘 이름만 봐도 어려운 데 쉽게 이해할 수 있어서 좋았다!

나의 최애 북틸
  • kjyse2 : 에피소드 별로 나눠서 보기 편하고 좋았어요~

  • inalee : 사진까지 같이 올리셔서 보기 좋았어요

  • kho0432 : 최애 북틸에 써놓으신 글이 인상 깊었어요~

1 comment