Community

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

← Go back

[TIL] IT 5분 잡학사전 #26 ~ #29

#book_club
1년 전
218
1

오늘 TIL 3줄 요약

  • 알고리즘은 초기 데이터 상태에 따라 처리 속도가 달라짐

  • 해시 테이블 검색은 해시 충돌(hash collison) 처리에 의해 시간 복잡도가 O(1)이 아닐 때도 있음

  • 클린 코드는 설명이 필요 없이 이해 되는 코드

TIL (Today I Learned) 날짜

2023. 11. 18

오늘 읽은 범위

26 ~ 29

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

  • 버블 정렬, 선택 정렬, 삽입 정렬 모두 같은 시간 복잡도를 갖지만 속도 차이가 있음

  • 알고리즘은 초기 데이터 상태에 따라 처리 속도가 달라지므로 시간 복잡도가 같아도 평균적으로 빠른 알고리즘이 있을 수 있음

  • 큐와 스택은 추상 자료구조 (abstract data type, ADT)

  • 스택 : 위에서 데이터를 쌓고, 위에서부터 데이터를 뺀다. (LIFO)

    • 웹 브라우저 뒤로 가기, 되돌리기 단축키 등

  • 큐 : 위로 데이터를 쌓고 아래에서부터 데이터를 뺀다. (FIFO)

    • 쇼핑몰 주문 처리 시스템 등

  • 해시 테이블에서 검색 할 때 시간 복잡도는 O(1)

  • 해시 충돌(hash collison)을 해결하는 방법

    • 인덱스에 또 다른 배열을 넣어 선형 검색 -> O(1)이 아니게 됨 / 일반적인 시나리오에서는 O(1)

  • 클린 코드 꿀팁 5가지 : 설명이 필요 없이 이해 되는 코드

    • 의미 있는 변수, 함수 이름을 적절히 사용

    • 함수 이름은 가급적 동사로 짓기 (함수는 한 가지 액션만 잘할 수 있으면 됨)

    • 매개변수는 너무 많이 쓰지 마라

    • boolean 값을 인자로 보내지 마라 (함수가 boolean 값에 따라 두 가지 기능을 처리해야 함을 의미)

    • 축약어를 쓰지 마라

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

  • 웹에서 사용되는 스택과 큐의 예시를 보니 더 가깝게 와 닿는다.

  • 알고리즘의 시간 복잡도에 대해 생각해보는 것도 재밌다.

  • '클린 코드' 읽고 싶은 책이었는데 시간 내서 읽어봐야 겠다.

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

  • 시간 복잡도 계산 방법 알아보기

번아웃 극복하기

1 comment