인프런 워밍업 클럽 스터디 2기 CS 1주차 발자국
운영체제
처음에는 운영체제의 역사부터 시작해서 어떻게 해서 운영체제가 생겨났는지 알아보았다. 그 후 간단하게 컴퓨터의 구조를 알아보고 이후 프로그램과 프로세스의 차이, 운영체제가 어떻게 PCB를 통해 프로세스를 제어하는 지를 알아보았다. 그 밖에도 프로세스의 상태, 컨택스트 스위칭을 배우고 지금은 CPU가 스케줄링을 통해서 프로세스를 제어하는 다양한 방식을 배우고 있다.
자료구조
연결리스트
메모리에 연속된 공간에 할당되는 배열과 달리, 각 노드끼리 포인터를 통해 메모리에 연속되지 않는 공간에 할당하여 사용할 수 있는 자료구조이다.
배열과 연결리스트의 장단점
배열
새로운 데이터 추가 및 기존 데이터 삭제에는 시간이 오래 걸리나, 데이터 참조는 빠르게 가능하다.
연결리스트
새로운 데이터 추가 및 기존 데이터 삭제는 빠르게 가능하나, 데이터 참조는 오래 걸린다.
각 상황에 맞는 자료구조를 사용하기!
스택
FILO 자료구조로 제일 처음 들어간 데이터가 가장 마지막에 나오는 자료구조다. 탑을 쌓아 저장하는 자료구조라고 보면 된다.
큐
FIFO 자료구조로 제일 처음 들어간 데이터가 제일 처음에 나오는 자료구조다. 들어간 순서대로 나오는 자료구조이다.
덱
스택과 큐를 합쳐 한번에 두 자료구조를 사용할 수 있는 자료구조로, 가장 먼저 넣은 데이터를 꺼낼 수도 있고, 가장 마지막에 넣은 데이터를 꺼낼 수도 있다.
해시테이블
key 값과 value 값을 가지는 자료구조로, 해시 함수를 통해 데이터들을 적절히 고르게 배분하면 해시 값을 통해 보다 빠른 데이터 검색을 할 수 있다.
중복된 key는 허용하지 않지만, 중복된 value는 허용한다.
셋
value 값만 가지는 자료구조로, 중복을 허용하지 않는다.
셋은 중복된 데이터를 제거하거나, 특정 값의 존재 여부를 빠르게 확인할 때 사용할 수 있다.
댓글을 작성해보세요.