[TIL] IT 5분 잡학사전 Day7

한다솜·2024년 2월 15일

IT 5분 잡학사전

목록 보기
6/11
post-thumbnail

오늘 TIL 3줄 요약

  • 시간 복잡도는 빅오(Big-O) 표기법을 사용하여 나타내며, 이 표기법을 보고 어떤 알고리즘을 사용할지 파악할 수 있다
  • 어떤 알고리즘을 선택하느냐에 따라 작업 속도에 엄청난 차이가 발생한다
  • 따라서 효율적인 코드 생성을 위해 자료구조와 알고리즘을 학습하자 !

TIL (Today I Learned) 날짜

2024.02.15

오늘 읽은 범위

에피소드 22 ~ 25

책에서 기억하고 싶은 내용을 써보세요.

📍 배열

✔️ 메모리 관점에서의 배열

  1. 휘발성 메모리

    • 컴퓨터 전원을 껐을 때, 데이터가 사라짐
      - 예) 램(RAM) : 프로그램을 실행할 수 있도록 필요한 데이터 저장, 데이터 저장 위치와 상관없이 일정한 접근 속도 보장
  2. 비휘발성 메모리

    • 컴퓨터 전원을 껐다가 켜도 데이터가 남아 있음
      - 예) 컴퓨터의 하드 드라이브

✔️ 배열의 특징

  • 읽기
    - 0부터 시작하며, 위치를 지시해서 데이터를 읽음
    - 1단계 알고리즘으로, 배열에서 데이터를 찾는 속도 매우 빠름
  • 검색
    - 모두 탐색하며 데이터 확인
    - 읽기보다 많은 시간 소요
  • 삽입
    - 가장 많은 시간 소요
    - 삽입 시나리오 3가지

    	1️⃣ 배열이 꽉 차지 않은 상태에서 배열 맨 마지막에 데이터를 추가하는 경우
    	2️⃣ 배열이 꽉 차지 않은 상태에서 배열 중간에 데이터를 추가하는 경우
    	3️⃣ 배열이 꽉 찬 상태에서 데이터를 추가하는 경우
  • 삭제
    - 삽입 원리와 유사

📍 알고리즘 속도 표현 방법

  • 수행 작업이 몇 단계인지로 속도 결정

✔️ 시간 복잡도 : 빅오(Big-O) 표기법 사용
- O(1) : 실행 횟수가 고정된 경우
- O(N) : 배열의 길이가 N일 때, 검색 횟수가 최대 N인 경우
- O(N^2) : 배열의 길이가 N일 때, 검색 횟수가 N의 제곱수의 비율로 증가하는 경우

📍 검색 알고리즘
✔️ 선형 검색(linear seach)
- 시간 복잡도 : O(N) ➡️ 배열의 크기와 검색 시간 정비례

✔️ 이진 검색(binary seach)
- 시간 복잡도 : O(logN) ➡️ 데이터가 아무리 많아진다고 해도 검색 시간은 데이터에 비해 그렇게 많이 필요하지 않음
- 거대한 배열을 다룰 때 효과적
- 데이터의 정렬이 끝난 배열에서만 사용 가능
- 배열의 중앙에서 검색을 시작하며 중앙값을 기준으로 데이터를 비교하여 왼쪽, 오른쪽으로 이동

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

✔️ 개발자에게 있어 CS 지식의 중요성에 대해 강조하는 글을 많이 보았다.
왜 공부해야 하는지 근본적인 원인은 알지 못한채 그저 기업에서 요구하니까 공부해야 하는구나 라는 생각을 했었다.

이번 에피소드를 통해 왜 그토록 자료구조와 알고리즘의 중요성에 대해 이야기 하는 건지 알게 되었고, 취업을 위해서가 아닌 나의 효율적인 코드를 위해 주도적으로 공부해야겠다는 생각이 들었다 🫠

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

🙅

오늘 읽은 다른사람의 TIL

  • https://nomadcoders.co/community/thread/8256
    - 책에 나온 내용에만 그치지 않고 부가적인 자료를 찾아보고, 정리하여 공유해주신 부분이 인상 깊었다. 나도 유용한 정보를 찾아보는 것에만 그치지 않고 공유하는 습관을 들여야겠다고 느꼈다 !
  • https://unpieceof.tistory.com/23?category=1063943
    - 다른 사람들의 TIL을 읽어보다가 웃긴 동영상을 첨부하셔서 기억에 남았다 😂 'Insert-Sort with Romanian folk dance'라는 동영상인데, 삽입 정렬을 포크 댄스로 표현한 영상이었다 ㅋㅋㅋ 찾아보니 정렬 알고리즘을 포크 댄스로 표현한 다양한 영상이 많았다 !!!
    복잡하게만 느꼈던 알고리즘인데 이렇게 귀여운 영상을 보니 알고리즘이랑 조금은 친해질 수 있을 것 같아 ...
  • https://south-dev.tistory.com/25
    - 이번 과제의 TIL은 아니지만 슬랙에 올라온 어제의 과제를 살펴보다가 'HTTP는 매정한 차가운 존재, 쿠키는 기억해 주는 따듯한 존재' 라는 표현이 인상깊었다.
    어떻게 이렇게 문학적으로 잘 표현하셨지 ... ? 이 한줄에 정말 많은 의미를 잘 담고 있는 것 같아서, 이게 무슨 말을 뜻하는 건지 단번에 알 것 같아서 충격적인 문장이었다.

유튜브 강의

[에피소드 22] https://youtu.be/9TyyMtlk5i4?si=0C44hL5qxw3skQVP
[에피소드 23] https://youtu.be/NFETSCJON2M?si=7stQvFgMIOAAyXCk
[에피소드 24] https://youtu.be/BEVnxbxBqi8?si=6XsHluIwCmAseVCg
[에피소드 25] https://youtu.be/WjIlVlmmNqs?si=50Ny3x2G5VP-tFnd

profile
💻Preparing Web Back-end Engineer💻

0개의 댓글