yoongrammer

목차[자료구조] 스택 (Stack)스택은 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조로 되어 있습니다. 식당에 쌓여있는 접시들이 좋은 예입니다. 순서대로 쌓인 접시가 스택 구조와 같습니다.접시가 필요하면 제일 위에 있는 접시부터 사용하며 가장 아래 있는 접시는 마지막에 사용됩니다.스택은 LIFO (Last In First Out) / FILO (First In Last Out) 순서를 따릅니다.LIFO : 마지막으로 들어온 값이 처음으로 나가는 것FILO : 처음 들어온 값이 마지막에 나가는 것스택은 완전히 꽉 찼을 때 Overflow 상태라고 하며 완전히 비어 있으면 Underflow 상태라고 합니다.삽입(Push)과 제거(Pop)는 모두 Top이라는 스택의 한쪽 끝에서만 일어납니다.추상 자료형..

목차[자료구조] 연결 리스트 (Linked list)연결 리스트는 데이터와 포인트로 구성된 노드 간의 연결(link)을 이용해서 리스트를 구현한 자료구조입니다. 연결 리스트는 배열의 고정크기의 단점을 보완하기 위해 만들어졌으며 배열과 달리 연속적인 메모리 공간에 저장되어 있지 않기 때문에 연결이 필요합니다.연결 리스트 표현연결 리스트는 아래 그림과 같이 포인터를 사용하여 각 노드를 연결합니다.그림에서 알 수 있는 사실은 아래와 같습니다.Head 는 리스트의 처음을 나타냅니다.노드는 데이터와 다음 노드를 가리키는 Next 포인터로 구성돼 있습니다.각 노드는 next 포인터를 사용하여 다음 노드와 연결됩니다.마지막 노드는 null을 가리켜 리스트의 끝을 나타냅니다.시간 복잡도(Time complexity)o..

목차 [자료구조] 배열 (Array) 배열은 연속된 메모리 공간에 순차적으로 저장된 데이터 모음입니다 대부분에 프로그램 언어에서 동일 타입의 데이터를 저장합니다. 예를 들어 배열이 "int"타입인 경우 정수 요소만 저장할 수 있으며 double, float, char 등과 같은 다른 타입의 요소는 저장할 수 없습니다. 배열을 구성하는 각각의 값을 요소(element)라고 하며, 배열에서의 위치를 가리키는 숫자는 인덱스(index)라고 합니다. 배열 표현 C언어로 배열 선언을 해보겠습니다. 위 배열을 그림으로 표현하면 아래와 같습니다. 그림에서 알 수 있는 사실은 아래와 같습니다. 연속된 메모리 공간에 데이터들이 순차적으로 저장되 있습니다. C에서 인덱스는 0부터 시작합니다. 배열 크기는 10이므로 10개..

목차자료구조(Data structure)자료구조란 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법입니다. 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 합니다. 자료구조의 분류자료구조는 선형구조와 비선형 구조로 구분됩니다.선형 자료 구조(Linear Data Structure)선형 자료 구조란 자료를 구성하는 원소들을 순차적으로 나열시킨 형태를 의미합니다.대표적으로 리스트, 스택, 큐, 데크가 있습니다. 특징:데이터가 순차적으로 배열되어 있습니다.단일 레벨로 표현되기 때문에 단일 실행으로 모든 요소를 순회 할 수 있습니다.메모리가 선형 방식으로 배열되기 때문에 구현하기 쉽습니다.저장되는 자료의 전후관계가 1:1 입니다.비선형 자료 구조(Non-linear Data Stru..

목차Docker 사용하기Docker 명령은 docker run, docker push와 같이 docker 형식이며, 항상 root 권한으로 실행해야 합니다. docker 명령은 root 권한으로 실행해야 하기 때문에 일반 계정에서는 항상 sudo를 사용해하지만 번거롭다면 sudo를 입력하지 않는 방법이 두 가지가 있습니다. 1. 처음부터 root 계정으로 로그인하거나 sudo su 명령을 사용하여 root 계정으로 전환합니다.$ sudo su# 2. 현재 계정을 docker 그룹에 포함시킵니다.$ sudo usermod -aG docker ${USER}$ sudo service docker restart 현재 계정에서 로그아웃한 뒤 다시 로그인 한다.만약 usermod group 'docker' dos..