본문 바로가기

Computer Science/컴퓨터공학(김용담 강사님)16

자료구조란? (feat. 시간복잡도, 공간복잡도) 목차 1. 자료구조(Data Sturcture)란? 1-1. 자료구조의 종류 2. 시간복잡도와 공간복잡도 2-1. 시간복잡도(Time complexity) 2-2. 공간복잡도(Space complexity) 2-2-1. 빅오표기법(Big Oh) 1. 자료구조 (Data Structure)란? 자료구조(Data Structure)를 알아보기 앞서, 우선 자료(Data)는 무엇일까요? 우리가 학교에서 조별과제를 한다고 가정해보겠습니다. 그러면 발표를 하기 위해 자료조사를 해야겠죠? 조별과제를 할 때, 발표자와 PPT담당자를 제외한 나머지 팀원들은 보통 자료조사를 하여 PPT담당자에게 보내줍니다. 그러면 PPT담당자는 자료들을 취합해서 보기 좋게 정리한 뒤에 발표자료를 만들죠. 결국 '자료(data)'라는 것.. 2023. 4. 6.
추상 자료형(ADT)이란? 개념과 특징 추상 자료형(Abstract Data Type, ADT)이란? 추상 자료형을 설명하기 전에 우선 추상화(Abstraction)가 무엇인지 알아보겠습니다.(추상화는 참고로, 컴퓨터 사고력 파트에서 나오는 개념입니다.) 추상화란, 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내고, 그것을 수치화 하는 것을 뜻합니다. 즉, 문제에서 해결해야할 주요한 정보를 수치화 하는 과정이죠. 예를 들어, 쇼핑몰 사이트를 만든다고 가정해보겠습니다. 쇼핑몰 사이트에서는 고객 정보, 판매 정보 등이 필요하겠죠? 이 때, 고객 정보에는 아이디, 비밀번호, 주소, 전화번호, 구매목록, 직장, 자산 등이 포함될 수 있습니다. 여기에서 쇼핑몰 사이트에서의 고객 정보로 불필요한 세부사항인 직장, 자산 같은 .. 2023. 4. 5.
기본 프로그래밍 개념: 언어, 변수, 자료형, 연산자, 제어구조, 함수, 모듈 목차: 기본 프로그래밍 개념(Basic Programming Concepts) 1. 프로그래밍 언어(Programming Language) 2. 변수(Variables) 3. 자료형(Data Types) 4. 연산자(Operators) 5. 제어구조(Control structures) 6. 함수(Funtions) 7. 모듈(Modules) 1. 프로그래밍 언어(Programming Language) 한국어, 영어같은 '언어'를 통해 우리는 서로 소통할 수 있습니다. 사람이 쓰는 언어를 '자연어(Natural Language)'라고 하죠. 그렇다면 컴퓨터와 사람이 소통하기 위한 언어는 무엇일까요? 바로 '프로그래밍 언어(Programming Language)'입니다. 프로그래밍 언어도 자연어처럼 문법(sy.. 2023. 4. 5.
컴퓨터공학: 컴퓨팅 사고력과 문제해결 목차 컴퓨터공학(Computer Science and Engineering, CSE)이란? 컴퓨팅 사고력(Computational Thinking, CT) 문제해결(Problem Solving) 컴퓨터공학(Computer Science and Engineering, CSE)이란? 컴퓨터공학은 계산, 자동화 및 정보를 연구하는 학문입니다. 컴퓨터공학의 이론적인 분야는 알고리즘, 계산 이론, 정보 이론, 자동화 등이 있고, 실용적인 분야는 하드웨어 및 소프트웨어의 설계와 구현 등이 있습니다. 학부 레벨에서의 컴퓨터 공학에서 보통 중요하게 다루는 분야는 총 7가지 정도로 설명할 수 있습니다. Basic Concepts of Programming Language + 특정언어 하나(C, Java, Python 등.. 2023. 4. 4.