2024.03.25(월) - 8일차

0700 - 0830: 파이썬 문법 학습

0900 - 1015: 운동

헬스장이 늦게 열러서 실패 → 시간대를 반드시 여는 시간(ex. 저녁 먹기 전 등)으로 옮겨야 할 것 같다.
밥 먹기 전에 헬스를 했다. 헬스를 하는데 시간이 얼마 없었다. 30분 정도를 하니 약속시간이 되어 나가야했다. 가능하면 아침에 운동을 마무리하는 게 하루를 지속적으로 보내는 데에 좋을 것 같다.

1000 - 1040: TIL 양식 세우기

깃헙 페이지로 처음에 설정을 하려고 했지만 공부해야할 것들이 많아 포기했다. 현재 정글 커리만으로는 시간이 남지 않았길 때문이다. 따라서 쉽게 포스팅을 할 수 있는 티스토리를 기록용 블로그로 설정했다. 스킨은 무난하게 hELLO 스킨을 사용했다. 스킨이 깔끔하기도 하고 마크다운으로 글을 쓸 때 자동으로 목차를 잡아줘서 포스팅하기 편리했다. 정글의 시작부터 끝까지 이번 블로그에 안착해서 사용했으면 좋겠다.

1300 - 1710: 키워드 공부하기

문서화 문자열, 모듈의 생성과 사용, 컨테이너 스캔, 배열과 관련 된 알고리즘, 객체 참조에 의한 호출, 선형검색, 이진 검색

1730 - 1900: 헬스 + 저녁식사

레그 익스텐션, 레그 컬, 고블린 스쿼트, 싯업
시간이 너무 촉박했다. 1시간 정도는 하고 싶은데 4시 반쯤에 내려가서 해야할 것 같다. 대신에 아침에는 일찍 나와야겠다.

1900 - 2100: 키워드 공부하기

해시 테이블: 왜 이렇게 이해하는게 어렵지? 운동하고 나면 몸이 피곤해서 그런지 머리에 잘 들어오지 않는다. 낮잠이라도 잠깐 잘걸 그랬다.

2100 - 2200: 코어타임

검색 알고리즘에 대해 설명했다. 검색 알고리즘은 데이터 집합에서 특정 데이터를 찾기 위해 사용하는 알고리즘이다. 데이터의 정렬여부에 따라 선택하는 알고리즘이 달라진다. 데이터가 무작위적으로 배치 된 경우에는 선형 검색을, 오름(내림)차순으로 정렬 된 경우에는 이진 검색을 하자.
해시법은 해시테이블이 어떻게 동작하는 지 설명해준다. 해시법의 핵심은 해시함수다. 파이썬의 딕셔너리와 같이 키-값 시스템의 경우, 내부적으로 키가 해시함수를 통과하여 해시값이 발생한다. 해시값은 배열에서 버켓이 되어 데이터값들이 점유할 수 있는 공간의 시작주소가 된다. 경우에 따라서는 다른 데이터가 같은 해시값을 점유하는 경우가 있는데 이를 해시충돌이라고 한다. 해시충돌이 발생할 경우에는 해결할 수 있는 방법이 2개가 있다. 연쇄법과 오픈주소법이 있다. 연쇄법은 동일한 버켓에 연결리스트로 데이터를 연결하는 방법이다. 오픈주소법은 빈 버켓을 찾아서 데이터를 넣는 방법이다.

퀵정렬에 대한 설명을 들었다. 퀵정렬의 핵심은 pivot이다. pivot을 기준으로 좌측에는 pivot보다 작은 값을, 우측에는 pivot 보다 큰 값을 배치한다.
작은값과 큰값의 교환은 포인터를 이용한다. 포인터로 자리를 교체한 후 포인터를 움직인다. 한 단계가 끝난 후에는 좌측와 우측에 대해 동일한 행위를 반복한다. 그후 모든 것을 합친다.

큐와 스택에 대한 설명을 들었다. 큐는 FIFO 스택은 LIFO 구조다. 큐와 스택은 push, pop, peek 연산이 있다. 큐에서 데이터는 rear로 들어와 front로 나간다. 스택은 bottom부터 데이터가 차곡차곡 쌓인다. 가장 위의 빈공간을 top이라고 부른다.

2300 ~ : TIL