자료구조 3

[C++ 자료구조론] 3장 스택과 큐

템플릿 template 클래스와 함수의 재사용에 기여 템플릿/ 인수화 타입을 이용해 소프트웨어 개발 시간과 비용 절약 SelectionSort 선택 정렬 기법을 이용해 n ≥1 개의 서로 다른 T의 집합을 정렬 사용 시 주의사항 사용자 정의 데이타 타입에 대해서는 별도로 정의해야 한다. template // 이 부분을 반드시 넣어야 한다. void SelectionSort(T *a, const int n) { // n개의 T a[0]부터 a[n-1]까지 비감소 순으로 정렬한다. for ( int i = 0; i < n; i++) { int j = i; // a[i]와 a[n-1] 사이에 가장 작은 T를 찾는다 for (int k = i + 1; k < n; k++) if (a[k] < a[j]) j = ..

[C++ 자료구조론] 2장 배열

추상 데이타 타입과 C++ 클래스 명세와 구현을 구별하고 사용자로 부터 ADT의구현을 은닉하기 위해 클래스(class) 제공 클래스 구성 클래스 이름 데이터 멤버 (멤버 변수) 멤버 함수 💡 프로그램 접근 레벨 : public, private, protected public : 프로그램 어디에서도 접근 private : 같은 클래스 내, friend로 선언된 함수나 클래스에 의해 접근 protected : 같은 클래스 내, 서브클래스, friend에 의해서만 접근 데이터 추상화와 캡슐화 데이터 멤버 모두 private 또는 protected로 선언해 캡슐화 멤버 함수 외부에서 접근할 것은 public으로 선언하고 나머지는 private이나 protected로 선언 멤버 함수의 구현은 inline 함수로 ..

[C++ 자료구조론] 1장 기본 개념

대형 컴퓨터 시스템 💡 설계 및 구현 방법론 데이터 추상화 알고리즘 명세 성능 분석과 측정 대형 컴퓨터 프로그램 복잡하게 상호작용하는 부품들로 구성된 시스템 like 하드웨어 시스템 생명 주기가 있음 why? 유지보수를 위해 시스템 생명 주기 System Life Cycle 💡 요구사항 - 분석 - 설계 - 정제와 코딩 - 검증 (과정을 하나라도 생략하면 안 된다.) 요구사항 requirement 프로젝트들의 목적을 정의한 명세들의 집합 고객의 요구에 맞게 입력과 출력에 관한 정보를 기술 분석 analysis 문제들을 다룰 수 있는 작은 단위들로 나눔 = 분할 정복 Divide and Conquer 상향식 bottom-up VS 하향식 top-down 상향식은 C의 함수처럼 기능 위주로 나눈다. 버그 난..