[컴퓨터과학 개론] 4강 - 자료구조(2)
·
🎓방송통신대학교/💻컴퓨터과학 개론
✅ 1. 트리데이터 간의 관계를 나타내는 비선형 자료구조이다. ( 1:N 관계이며, 일직선이 아님 )노드(node)라고 불리는 부분과 노드를 연결하는 가지(branch, edge)로 구분이 된다.노드 사이에는 계층적인 관계성을 갖고 있고 이것은 레벨0, 1, 2, 3 등이 될 수 있음.(1) 트리 용어 정의노드(node): 정보 항목을 의미하며 A, B, C, D ... 등이 모두 노드가 될 수 있음.루트(root): 빈 트리가 아닌 경우에 맨 꼭대기에 있는 하나의 노드를 의미함. ( A 부분에 해당함 )차수(degree): 각 노드에 있는 가지의 수를 의미함. ( 그 노드가 가지고 있는 자식 노드(하위 노드)의 개수로 봐야 함. )(2) 잎 노드 (단말 노드) & 내부 노드 (비단말 노드)[ 잎 노드 ..
[컴퓨터과학 개론] 3강 - 자료구조(1)
·
🎓방송통신대학교/💻컴퓨터과학 개론
✅ 1. 기본 개념(1) 자료구조의 개념[ 추상화 ]공통적인 개념을 이용하여 같은 종류의 다양한 객체를 정의하는 것을 의미함.다양한 객체의 예시는 버스가 될 수 있고, 버스에는 광역, 고속, 시외 등 다양한 종류의 버스가 존재하지만 공통적인 개념을 뽑아서 이미지화를 통해 추상화를 시킬 수 있음. 즉, "버스 타러 가자" 만으로도 이해가 충분할 수 있음.예를 들면 수식, 프로그램 언어 등이 있음[ 자료(데이터) 추상화 ]다양한 객체를 컴퓨터에서 표현하고 활용하기 위해 필요한 데이터의 구조에 대해서 공통의 특징만 뽑아 정의 한 것을 의미함.자료구조는 종류가 다양하다. 즉, 배열만 봐도 여러 배열이 존재 할 수 있기 때문에 배열 자체의 공통적인 특징을 뽑아서 자료 를 추상화 할 수 있음. 이유는 의사소통을 하..
[C언어] 입출력 함수와 연산자(1)
·
🛠️Backend/⚙️C
✅ 1. 표준 입출력의 개념(1) C 프로그램과 함수stdlib.h 헤더 파일에 EXIT_SUCCESS 는 0으로 되어있음. 즉, return 0 임.일반적인 함수에서는 반환값이 존재할 때 return 으로 자료형에 맞는 반환값을 넘겨줘야함.하지만 main() 함수에서는 반환값이 존재할 때 return을 안해줘도 return 0; 문자를 자동으로 넣어주게됨.int argc: 터미널로 넘기는 단어의 갯수를 보내줌char* argv[]: 이것도 단어 두개를 배열에 하나씩 담아서 보내줌.(2) 표준 입출력의 개념표준 입력(stdin) 과 표준 출력(stdout) 이 있음.✅ 2. 형식화 입출력함수(1) printf() 함수[ printf() 함수 예시 ]#include int main() { char c..
[자료구조] 5강 - 연결 리스트
·
🎓방송통신대학교/🔢자료구조
✅ 1. 리스트의 개념(1) 배열의 정의배열은 하드웨어 메모리의 물리적인 순서와 동일함 ( 실제 메모리의 물리적 주소 공간에 연속적으로 저장됨. )원소의 메모리 공간(메인 메모리, DDR)의 물리적인 위치를 '순서'적으로 결정하는 특징배열의 순서는 메모리 공간에서 저장되는 '원소값의 물리적 순서'(2) 리스트의 의미여러 개의 데이터를 어떤 정의에 의해서 결정된 논리적인 순서대로 묶어서 관리할 수 있는 자료구조를 말한다.리스트의 '순서'는 데이터가 저장되는 물리적인 위치와 상관없이 사람들의 머릿속에 인식되는 '논리적인 순서', 혹은 리스트에서 나타나는 원소들 간의 '의미적인 순서'를 의미한다.배열은 인덱스로 표현되는 '추상적 순서'가 배열 원소의 메모리 공간에서의 물리적인 위치와 일치함.하지만, 리스트의 ..
[자료구조] 4강 - 큐
·
🎓방송통신대학교/🔢자료구조
✅ 1. 큐의 개념(1) 큐의 의미작업 큐에 들어간 작업이 가장 처음에 처리되는 작업 스케줄을 의미한다.쉽게말해, 들어간 순서대로 하나씩 순서대로 처리하는 방식을 의미함.한쪽에서는 삽입연산만 발생 가능하고, 다른 한쪽에서는 삭제연산만 발생 가능한 양쪽이 모두 터진 관한쪽에서는 삽입연산: 서비스를 받기 위한 기다림다른 한쪽에서는 삭제연산: 서비스를 받는 중선입 선출(FIFO:First-In-First-Out) 또는 선착순 서브(FCFS:First-Come-First-Serve) 알고리즘과 함께 사용됨(2) 큐의 정의 ✅ 2. 큐의 추상 자료형(1) 큐의 객체 정의큐의 추상자료형큐 객체: 0개 이상의 원소를 갖는 유한 순서 리스트(2) 큐의 연산큐의 앞(front): 원소의 삭제 연산이 이루어지는 곳큐의 뒤..
[C언어] 자료형과 선행처리기
·
🛠️Backend/⚙️C
✅ 1. 자료형과 상수(1) 자료형의 개념[ 자료형(data type) 이란? ]컴퓨터에서 값의 표현 방법을 정의한 것쉽게말해, 데이터가 어떤 종류의 값이고, 메모리에서 어떻게 저장되고 처리 될지를 정의하는 규칙을 의미한다.값을 저장하거나 계산을 할 때 자료형을 엄격하게 구분하여 처리함(2) C 언어 자료형의 종류[ 기본형 (primitive types) ]언어에서 미리 정의되어 있는 가장 기본적인 데이터 저장 단위를 의미한다.즉, 복잡한 구조 없이 하나의 값만 저장할 수 있는 자료형이다.기본 자료형에는 정수형, 문자형, 실수형 세 가지가 존재한다.[ 열거형 (enumerated type) ]// 내부적으로 각 이름에는 0부터 시작하는 정수 값이 자동 할당 됨 ( Sunday = 0 ... )enum W..
[자료구조] 3강 - 스택
·
🎓방송통신대학교/🔢자료구조
✅ 1. 스택의 개념(1) 스택의 정의객체와 그 객체가 저장되는 순서를 기억하는 방법에 관한 자료구조이다.가장 먼저 입력된 자료가 가장 나중에 출력되는 관계를 표현함쉽게말해, 스택은 후입선출로써 가장 나중에 넣은 객체가 가장 먼저 나온다.이러한 추상 자료형을 구현하려면 구현과정에서 저장되는 순서를 기억해줘야 한다는 의미이다.관계를 표현하기 위해서 연산이 필요하며, 객체에 대한 정의와 연산이 모여서 순서가 기억되는 스택의 추상 자료형이 완성됨쉽게말해, 자료 구조에서 데이터를 단순히 저장하는 것뿐만 아니라, 데이터를 다루는 연산이 중요하며 스택(abstract data type, ADT)은 **데이터(객체) + 연산(push, pop 등)**이 모여 만들어지고 스택은 후입선출(LIFO) 순서를 유지한다는 특..
[자료구조] 2강 - 배열
·
🎓방송통신대학교/🔢자료구조
✅ 1. 배열의 정의일정한 차례나 간격에 따라 벌여 놓음차례(순서)와 관련된 기본적인 자료구조이다.원소의 메모리 공간(메인 메모리, DDR)의 물리적인 위치를 순서적으로 결정하는 특징이 있다.배열의 순서는 메모리 공간에서 저장되는 원소값의 물리적 순서와 같다.인덱스와 원소값( indext, value ) 의 쌍으로 이루어져 있음.(1) 배열의 의미인덱스로 표현되는 순서를 갖는 특정 배열이 존재하며, 그곳에는 순서대로 원소가 들어가게 된다.원소들이 모두 같은 자료형과 같은 크기의 기억 공간을 가지게 된다.배열의 인덱스값을 이용해서 원소값에 접근하기 때문에 직접 접근이 가능함[ 배열의 인덱스 값 ]컴퓨터의 내구구조나 메모리 주소와 무관하게 개발자에게 개념적으로 정의되는 추상화된 값이다.메모리 주소값은 실제 ..
[자료구조] 1강 - 자료구조란 무엇인가?
·
🎓방송통신대학교/🔢자료구조
✅ 1. 자료와 정보(1) 자료의 가공 및 결과P (process: 프로세스)D (data: 자료, 데이터)I (information: 정보)프로세스에 자료를 넣으면 정보를 얻게 된다.컴퓨터의 근본적인 목적은 자료를 처리하여 최종적으로 정보를 제공해주는 것이다.(2) 자료의 정의현실 세계에서 관찰이나 측정을 통해서 수집된 값이나 사실우리의 생활에서 실제로 만질 수 있거나 볼 수 있는 것(길이, 무게, 부피 등을 측정할 수 있는 대상)에 대해서 물리적인 단위로 표현하여 얻어낼 수 있는 내용쉽게말해, 자료는 더 이상 쪼개지지 않는 원시 데이터이다.(3) 정보의 정의자료가 가공이 되어서 유의미한 형태로 변환이 되어 제공이 되는 것을 정보라고 한다.쉽게말해, 자료가 2개 이상 서로 상호작용을 통해 얻게 되는 유..
[컴퓨터과학 개론] 1강 - 컴퓨터와 자료(1)
·
🎓방송통신대학교/💻컴퓨터과학 개론
✅ 1. 컴퓨터(1) 컴퓨터란?[ 프로그램이 가능한 데이터 처리기 ]단순히 데이터 처리기 자체의 의미는 입력, 처리, 출력을 정의하는 용어라 계산기도 데이터 처리기로 볼 수 있음.명확한 분류를 위해 컴퓨터의 특징인 프로그램을 추가하면 컴퓨터가 무엇인지 명확해짐. ( 프로그램이 가능한 데이터 처리기 )[ 프로그램 이란? ]컴퓨터가 데이터를 어떻게 처리할 지를 알려주는 일련의 명령어 집합을 의미함.처리 가능한 작업의 유형과 연산의 집합을 결정쉽게말해, 하나의 컴퓨터에 여러 프로그램을 돌릴 수 있기 때문에 작업의 유형과 연산의 집합을 결정 할 수 있게됨.프로그래밍 과정의 결과물을 프로그램이라고 함. ( 알고리즘을 만들고 그것을 프로그래밍 언어로 구현 )[ 정리 ]컴퓨터는 특수 목적의 한 종류의 작업을 처리하는..