220310 TIL

Dzeko·2022년 3월 10일
0

개발일지

목록 보기
55/112
post-thumbnail

Today I Learned


1. CS 스터디

7장 데이터 구조와 처리(p.294 ~ p.302)

계층적인 데이터 구조

데이터를 효율적으로 가져오고 싶은 경우 선형적인 데이터 구조보다 계층적인 데이터 구조가 효율적이다. 가장 간단하게는 2진 트리가 있다. 간접 주소 지정을 활용한다는 면에서 단일 연결 리스트의 사제와 비슷하다. 하지만 불균형으로 모습이 잡힌다면 단일 연결 리스트와 다를 바가 없기 때문에 균형이 잡히게 만들어줘야한다. 균형잡힌 2진 트리라면 단일 연결 리스트에서 n번 비교할때, 균형2진트리에서는 log2n번만 비교한다.

대용량 저장장치

디스크의 기본 단위는 블록, 연속적인 블록은 클러스터이다. 클러스터는 한 트랙 안에 있는 연속적인 섹터로 이루어진다. 어떤 데이터를 저장하기 위한 저장소 블록을 찾는 대신, 어떤 데이터를 저장하기에 충분한 크기가 되도록 고정된 크기의 블록을 여럿 확보해서 데이터를 블록에 나눠 담아야 한다.
데이터를 메모리상에서 관리할 때 포인터를 통해 메모리를 참조하더라도 충분하다. 하지만 일시적이고 데이터를 장기적으로 저장할 때는 디스크를 사용하므로 영구적인 존재가 필요하다. 파일 이름이 그 답이다.
아이노드는 디스크 블록에 대한 인덱스와 노드를 합친 단어다. 아이노드는 직접 블록 포인터가 12개 있다. 대부분은 이정도로 충분하나 더 커지면 간접 블록을 사용한다. 2중 간접, 3중 간접까지도 지원이 가능하다.






To Do

1. 프로젝트 카카오 로그인 API 연결

2. 完) CS스터디 정리하기

Always 完) 알고리즘 최소 한 문제 - 220310's Algorithm






Today's Short Report

운동 못간지 500년 됐다 운동하고 싶다.
profile
Hound on the Code

0개의 댓글