TIL 날짜
2023. 02. 25
오늘 읽은 범위
에피소드 26: 정렬 알고리즘이 뭐죠?
에피소드 27: 스택, 큐가 뭐죠?
에피소드 28: 해시 테이블이 뭐죠?
에피소드 29: 개발자 필수 소양, 클린 코드!
책에서 기억하고 싶은 내용을 써보세요.
정렬 (sorting) 알고리즘에는 3가지 유형이 있다.
버블 정렬 (bubble sort)
: 한 방향만 바라보면서 정렬하는 방식 선택 정렬(selection sort)
: 전체 데이터 중에서 가장 작은 혹은 가장 큰 데이터의 위치를 따로 기억해서 비교하고 정렬하는 방식 삽입 정렬(insertion sort)
: 앞에 있는 데이터와 비교하면서 배치하는 방식 자료 구조 : 프로그래밍 언어의 문법으로 데이터를 저장할 때 규칙을 부여하는 것
스택 (Stack)
큐 (Queue)
해시 테이블
은 Key-Value를 짝지어 모은 것, 검색 속도를 빠르게 해준다.
const countries = {
"태국" : true,
"그리스" : true,
"대한민국" : true,
"영국" : true,
"미국" : true
}
해시 함수
가 포함되어 있다. 해시 함수는 Key를 숫자, 인덱스로 변형해 준다. 클린 코드 (clean code )
: 설명이 필요 없는 코드, 코드를 읽기만 해도 이 코드가 어떤 동작을 하고 의미하는지 이해할 수 있다
처음부터 클린 코드를 작성하는 것은 어렵다. 먼저 코드를 작성하고 리팩토링을 통해 클린하게 코드를 작성하면 된다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
이전에 진행한 프로젝트에서 필터-정렬 쿼리빌더를 만들 때, Object를 사용해서 구상했었다. 그 때는 막연하게 더 간결하게 검색할 수 있잖아? 라고 생각했는데 해시 테이블에 대해 공부하며 왜 빠르게 작동했는지에 대한 원리와 이유를 설명할 수 있을 것 같다.
이것이 아마 자료구조와 알고리즘을 학습해야 하는 이유가 되리라.🌿