본문 바로가기
반응형

Software60

[자료구조] 선형 자료구조 수업 출처) 숙명여자대학교 소프트웨어학부 수업 "자료구조", 유석종 교수님 1. 다차원 배열 - 2차원 이상의 배열을 다차원 배열이라고 한다. - 논리적으로는 m차원이지만, 물리적으로는 1차원으로 메모리 상에 표현됟나. - m차원 배열 A : int A[n₀][n₁] ··· [nₘ₋₁]; - 배열 A에 저장되는 원소의 총 개수 : n₀ x n₁ x ··· nₘ₋₁ 예를 들어 A[10][9][8]로 선언된 배열 원소의 총 개수는 10 x 9 x 8 = 720개이다. 1-1. 행 우선 순서 (Row-major order) - 기본 주소에서부터 행을 기준으로 원소가 저장된다. - 배열 원소의 오른쪽 차원의 인덱스가 먼저 증가되고, 상한 경계에 도달하면 바로 왼쪽 옆자리가 1씩 증가된다. - 이런식으로 인덱스 .. 2021. 4. 18.
[자료구조] 알고리즘 성능 분석 수업 출처) 숙명여자대학교 소프트웨어학부 수업 "자료구조", 유석종 교수님 1. 성능 분석 (실행 가능한 기준) - 공간 복잡도 (space complexity) : 필요한 메모리 양 - 시간 복잡도 (time complexity) : 프로그램 수행 시간 2. 공간 복잡도 - Fixed space requirements (Sc) - 실행 도중에 변하지 않는 것 - 명령어, 단순 변수, 고정된 구조체 변수, 상수 등 - 공간 복잡도에 고려하지 않는다. - Variable space requirement (Sv) - 프로그램 실행 중에 요구되는 공간으로 가변적이고 예측이 어렵다. - 함수 간 배열 전달, 재귀 호출 등 - 위험 요소를 내포하고 있으며, 공간 복잡도 평가에서 더욱 중요하다. - S = (Sc .. 2021. 4. 17.
[자료구조] Recursion 재귀 호출 수업 출처) 숙명여자대학교 소프트웨어학부 수업 "자료구조", 유석종 교수님 1. 재귀호출 - 함수가 실행 중에 자기 자신을 다시 호출하는 것이다. - 같은 작업을 반복하는데 조금씩 상황이 바뀌는 경우에 사용한다. - 함수에 반드시 종결 조건이 있어야 한다. - Divide & Conquer 전략에 사용된다. - 재귀 호출문은 if-else나 while문을 활용한 반복문으로 바꿀 수 있다. - 컴파일러의 관점에서 재귀 호출은 새로운 함수를 호출하는 것과 같다. - 따라서 함수를 호출할 때마다 함수의 지역 변수, 복귀 주소 등 컨텍스트 정보를 활성 레코드에 저장해야 한다. - 장점 : 알고리즘을 깔끔하게 표현할 수 있다. - 단점 : 함수를 실행할 때마다 메모리에 환경 변수를 저장하기 때문에 메모리의 소모가.. 2021. 4. 17.
[자료구조] C언어 기초 수업 출처) 숙명여자대학교 소프트웨어학부 수업 "자료구조", 유석종 교수님 1. Structure 구조체 - 자료형이 상이한 여러 멤버들을 하나의 자료로 묶어서 처리할 수 있는 복합 자료형 1-1. 구조체 변수 선언 // ex1 struct student { int age; int grade; char major[20]; } kim, lee; // ex2 struct { int age; int grade; char major[20]; } kim, lee; // ex3 struct student { int age; int grade; char major[20]; }; struct student kim, lee; 세 가지 모두 kim과 lee라는 구조체 변수를 선언하는 문장이다. 첫 번째 방식과 같이 구조체.. 2021. 4. 17.
[자료구조] Introduction 수업 출처) 숙명여자대학교 소프트웨어학부 수업 "자료구조", 유석종 교수님 1. Computer System - 알고리즘 : 문제를 풀기 위한 명령어들의 모음 (데이터 처리 방법) - 데이터 : 측정된 값들의 모음 - 자료구조 : 데이터를 효과적으로 저장, 관리, 처리하기 위한 구조체, 방법론 2. Algorithm - 문제 해결에 필요한 명령어들의 집합 - 조건 - input : 명시적 입력은 없어도 된다. (하지만, 묵시적 입력은 필요하다.) - output: 하나 이상의 출력이 필요하다. - definiteness 명확성 : 명령문은 모호하지 않고 명확해야 한다. - finiteness 유한성 : 명령어의 수는 유한해야 한다. - effectiveness 유효성 : 명령어는 실행 가능해야 한다. -.. 2021. 4. 17.
[데이터사이언스개론] 비즈니스 문제와 데이터 사이언스 솔루션 수업 출처) 숙명여자대학교 소프트웨어학부 수업 "데이터사이언스개론", 박동철 교수님 1. Data Science Process 데이터 사이언스의 기본 원리는 데이터 마이닝이다. 데이터 마이닝은 상당히 잘 이해된 단계를 가진 process이다. 데이터 사이언티스트는 실생활의 문제를 하위 작업으로 분리한다. 하위 작업들의 솔루션들이 모여서 전체적인 문제를 해결할 수 있다. 문제의 기저가 되는 공통적인 데이터 마이닝 작업이 존재한다. (ex) classification, regression, clustering, association rule discovery 좋은 데이터 과학자가 되기 위해서는 다양한 공통적인 데이터 마이닝 작업을 해결하는 방법을 알아야 하고, 문제를 이렇게 공통적인 작업들로 나눌 수 있어야.. 2021. 4. 15.
반응형