Community

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

← Go back

TIL Ep22-25

#book_club
2년 전
498

오늘 TIL 3줄 요약

<예시>

  • 효율적인 코드 작성을 위해 알고리즘과 자료구조를 배우자.

  • 알고리즘의 속도를 표현하는 Big-O

  • 자료의 형태와 구조에 따라 적절한 검색 알고리즘을 사용하자.

</예시>

TIL (Today I Learned) 날짜

2023. 01. 19.

오늘 읽은 범위

Ep22-25

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

<Ep22. 자료구조와 알고리즘>

  • 코드를 효율적으로 만들기 위해 자료구조와 알고리즘이 필요하다.

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

  • 자료구조: 데이터를 효율적으로 보관하고 찾기 위한 방법

<Ep23. 배열>

  • 시간복잡도: 프로그램의 작업 속도가 얼마나 빠른지 측정하는 방법

  • 휘발성 메모리 램(RAM)

  • 배열은 램에 차례로 이어진 형태로 자료를 저장한다.

  • 컴퓨터는 배열의 시작 주소와 길이를 알고 있기 때문에 읽는 속도가 빠르다.

  • 배열은 데이터를 앞에서부터 저장하기 때문에 삽입과 삭제는 느리다. 상대적으로.

<Ep24. 알고리즘의 속도>

  • 시간복잡도 O(N), O(log N) → 알고리즘으로 작업을 완료할 때까지 걸리는 절차 수 N 이용

  • Big-O는 실행 단계에 영향을 주는 요소만 본다.

<Ep25. 검색 알고리즘>

  • 선형 검색 알고리즘: 배열 맨 처음부터 값을 찾는 방법

  • 이진 검색 알고리즘: 중앙값을 기준으로 찾는 값이 중앙값보다 작으면 왼쪽, 크면 오른쪽


    - 단, 배열이 정렬되어 있어야 한다.

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

  • 내가 구상한 기능대로 프로그램이 동작할 수 있도록 코드를 작성하는 것도 중요하지만, 결국 코드 작성의 효율성을 위해 알고리즘과 자료구조에 대해 더 공부를 해야할 필요성을 느꼈다. 어떤 공부든 마찮가지이겠지만 개발 공부도 끝이 없는 듯. 그래도 중.꺾.마.

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

  • 배열이 RAM에 데이터를 저장할 때 주소가 적힌 상자 하나에 데이터를 하나씩 저장한다고 했는데 그 상자 하나에 저장할 수 있는 데이터의 크기가 있을까요? 예를 들어 상자 하나에 숫자 1, 참/거짓 True/False 도 가능하지만 길이가 어어어어어어엄청 긴 문자열이라면? aaaaaaaaaaa...zzzz 이렇게요!