본문 바로가기

보유/책

IT 5분 잡학사전 - 노마드 코더 ( Nomad Coders ) 챌린지 8-9일

TIL (Today I Learned)

2025.06.21

오늘 읽은 범위

__에피소드 26 정렬 알고리즘이 뭐죠?
__에피소드 27 스택, 큐가 뭐죠?
__에피소드 28 해시 테이블이 뭐죠?
__에피소드 29 개발자 필수 소양, 클린 코드!

 

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

*정렬 알고리즘

(오름차순정렬)

버블 정렬 :  두개씩 비교해서 스왑, 마지막 항목에 가장 큰 수가 되도록 하나씩 정렬을 마쳐가는 방식  O(N²)

선택 정렬 :  (전체항목체크해서 가장 작은 수를 변수에 저장, 맨 처음 수와 스왑) 처음 부터 하나씩 정렬을 마쳐가는 방식  O(N²)

                  Big O는 버블 정렬과 같지만 2개이상의 빠른 속도 ( N번의 스왑을 하지 않고 1번의 스왑)

삽입 정렬 :  (인덱스 1번부터 선택해 왼쪽이 작은 수인지 확인, 작다면 스왑을 인덱스를 줄여가면 반복 ) 인덱스를 늘려가면서 비교

 

속도 차이

삽입 > 선택 > 버블

 

*해시테이블

키,값 :  읽기, 추가, 삭제 , 검색 - 모두 : 시간 복잡도 O(1)   

배열의 시간 복잡도 O(N)

해시테이블은 배열을 베이스로 작동, 빠른 이유는 해시함수 때문 , 충돌이 있는 경우 내부배열을 만들고 선형검색( 항상 O(1) 은 아님 )

 

*클린코드

그 자체로 이해되는 코드가 좋은 코드

검색이 가능한 이름을 써라
함수이름은 동사를 써라 : 하나의 역할을 하는 함수
3개 이하의 인수를 가지는 함수
Boolean 값을 함수에 보내지마다
짧은 변수명, 축약형 변수명을 쓰지마라

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

버블, 선택, 삽입정렬을 이해한 듯한 기분

 

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

해시함수

 

세줄 요약

*Big 0가 같더라도 알고리즘에 따라 성능이 다르다.

*해시테이블 :  O(1) : 빠르다.

*클린코드 책을 읽자

 

반응형