Community

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

← Go back
[노마드코더] 개발자 북클럽 - IT 5분 잡학사전 DAY9
#book_club
1년 전
660

[노마드코더] 개발자 북클럽 - IT 5분 잡.. : 네이버블로그 (naver.com)

오늘 TIL 3줄 요약

  • 정렬 알고리즘의 시간 복잡도는 모두 O(N^2)지만, 더 효율적인 알고리즘은 분명히 있다

  • 해시 테이블을 이용해 더 효율적인 검색 알고리즘을...

  • 클린 코드를 항상 염두에 두기

TIL (Today I Learned) 날짜

​2023.01.21

오늘 읽은 범위

에피소드26 - 에피소드29​

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

​EP26. 정렬 알고리즘이 뭐죠?

버블 정렬 : 한 칸씩 밀면서 왼쪽과 오른쪽을 비교하는 방식

선택 정렬 : 가장 작은/큰 데이터의 위치를 따로 기억하는 방식

삽입 정렬 : 앞에 있는 데이터를 보면서 배치하는 방식

⇒ 시간 복잡도는 O(N^2)로 같지만, 평균적으로 빠른/느린 알고리즘이 있긴 함

EP27. 스택, 큐가 뭐죠?

사실 큐/스택은 실제로 존재하는(문법으로 구현된) 개념이 아님.

기존 프로그래밍 언어의 문법으로 데이터를 저장할 때 어떤 규칙을 부여하면 그것을 큐/스택이라고 할 수 있음 (추상 자료구조)

→ 배열 등에 어떤 규칙을 합친 것

스택의 규칙 (LIFO)

  • 위에서 데이터를 쌓는다

  • 위에서부터 데이터를 뺀다

큐의 규칙 (FIFO)

  • 위로 데이터를 쌓는다

  • 아래에서부터 데이터를 뺀다

EX 웹 브라우저의 뒤로 가기 버튼(스택), 되돌리기 단축키(스택), 쇼핑몰 주문 처리 시스템(큐)

EP28. 해시 테이블이 뭐죠?

해시 테이블 : 키와 값을 짝지어 모은 것 (우리가 데이터를 더 쉽게 정리할 수 있게 해줌)

* 시간 복잡도 : O(1) ⇔ 선형 검색 O(N)

→ 배열 + 해시 함수 (검색할 때 쓰는 숫자를 인덱스로 바꿔줌)

** 해시 충돌 : EX 글자 수를 인덱스로 반화하는 해시 함수에서, 글자 수는 같은데 가격은 다른 메뉴가 있다면?

해시 함수로 인덱스를 찾은 후, 그 안에서 헌형 검색으로 찾기

EP29. 개발자 필수 소양, 클린 코드

클린 코드 : 설명이 필요 없는 코드 (읽기만 해도 어떤 의미인지, 무슨 일을 하는지 이해되는 코드)

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

  • 함수 이름은 가급적 동사로 지어라 (1가지 액션만 잘 하도록)

  • 매개변수는 너무 많이 쓰지 마라 (3개 이하)

  • 불린(참/거짓을 위한 자료형)값을 인자로 보내지 마라

  • 축약어를 쓰지 마라

일단 잘 실행되는 코드를 쓰고, 마지막에는 항상 클린하게 코드를 다듬는 작업을 하자!

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

​클린 코드를 아주 예전부터 장바구니에 넣어두고 읽지 못하고 있었는데

여기서 이렇게 만나니 반갑기도 하고, 언젠가는 꼭 읽어야겠다는 생각이 들었다

26~28장은 솔직히 이해가 부족하다 다시 읽어보자

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

​큐? 스택? 추상 자료 구조..ㅠ?

#코딩 #개발자 #노마드북클럽 #노개북