반응형 Software/Data Structures10 [자료구조] 알고리즘 성능 분석 수업 출처) 숙명여자대학교 소프트웨어학부 수업 "자료구조", 유석종 교수님 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 2 다음 반응형