728x90
1. 자료구조(Data Structure)
데이터 값의 모임이라고 한다. 각 원소들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것.
2. 자료구조를 배우는 이유?
- 데이터를 체계적으로 저장하고, 효율적으로 활용하기 위해서 자료구조를 사용한다.
- 특정한 상황에 놓인 문제를 해결하는 데에 특화되어 있다.
3. 필수 자료구조 8개
- 배열(Array)
- 동일한 타입의 테이터들을 저장하며, 고정된 크기를 가지고 있다.
- 인덱싱이 되어 있어서 인텍스 번호로 데이터에 접근할 수 있다.
- 연속된 메모리 공간에 존재한다.
- 스택(stack) 영역의 메모리 할당이다.
- 링크드 리스트(Linked List)
- 각 데이터 시퀀스가 순서를 가지고 연결된 순차적 구조이다.
- 동적인 데이터 추가, 삭제에 유리하다.
- 특정 데이터를 조회하려면 처음부터 탐색해야한다.
- 힙(heap) 영역의 메모리에 할당된다.
- 스택(Stack)
- 순서가 보존되는 선형 데이터 구조
- 가장 마지막 요소부터 처리하는 Last In First Out(LIFO)방식이다.
- 예를들면, 특정 사이트에 들어가서 뒤로가기, 앞으로가기 버튼을 생각하면 된다.
- 큐(Queue)
- 가장 먼저 입력된 요소부터 처리하는 First In First Out(FIFO)방식이다.
- 예를들면, 고속도로 톨게이트에서 먼저 들어간 차가 먼저 나가는것을 생각하면 된다.
- 해시 테이블(Hash Table)
- 해시함수를 사용하여 변환한 값을 인덱스로 삼아 키(Key)와 데이터(Value)를 저장하는 자료구조이다.
- 데이터의 크기에 상관없이 추가, 검색에 효율적이다.
- Key값으로 그에 맞는 Value값을 찾는다. 그러므로 Key값과 Value값을 쌍으로 저장한다.
- 그래프(Graph)
- 연결관계를 표현하는 자료구조이다.
- 선형 자료구조나 트리 자료구조로 표현하기 어려운 관계를 가지는 원소들을 표현하기 위한 자료구조이다.
- directed그래프는 일방통행이고, undirected그래프는 양방향이다.
- 트리(Tree)
- 그래프가 계층적 구조를 가진형태이다.
- 최상위 노드를 가지고 있다.
- 상위 노드를 부모(Parent)노드, 하위 노드를 자식(Child)노드라고 한다.
- 힙(Heap)
- 이진트리(Binary Tree)
- 최소 힙 : 부모의 키 값이 자식의 키 값보다 작거나 같다.
- 최대 힙 : 부모의 키 값이 자식의 키 값보다 크거나 같다.
4. 운영체제(Operation System)
사용자가 컴퓨터를 사용하기 위해 필요한 소프트웨어이다.
우리가 일반적으로 컴퓨터를 사용하면서 실행한 모든 프로그램들은 운영체제에서 관리하고 제어한다.
- 운영체제의 목적 및 기능
- 운영체제의 주된 목적은 컴퓨터의 하드웨어를 관리하는 것이다.
- 사용자에서 편의를 제공하는 목적이다.
- 시스템의 각종 하드웨어와 네트워크를 관리 및 제어한다.
- 시스템의 오류를 검사 및 복구한다.
- 운영체제의 유형 및 하는 일
- 어플리케이션은 특정 운영체제에 맞춰서 만든다. 그러므로 다른 운영체제에서 수행할 수 없다.
- 어플리케이션의 요청에 따라 각 기능들이 수행하여 적절히 자원을 분배한다.
References
'Basic > 코딩기초' 카테고리의 다른 글
[코딩기초] SSR vs CSR (0) | 2023.02.22 |
---|---|
[객체지향] 객체지향 프로그래밍(OOP)?? (0) | 2023.02.21 |
[트래픽] 서버가 트래픽을 견디는 법? (0) | 2023.02.20 |
[Cloud] AWS(Amazon Web Service) (0) | 2022.12.02 |
[코딩기초] 개발자들의 플랫폼 'Git, Github' 알아보기 (0) | 2022.11.30 |