본문 바로가기

전체 글

(4)
LinkedList with class(양방) class Node { private: int data; Node* next; Node* prev; public: Node():data(-1),next(NULL) {}; Node(int _data); int GetData() { return data; }; Node* GetNext() { return next; }; Node* GetPrev() { return prev; };//추가 void SetNext(Node* ptr) { next = ptr; }; void SetPrev(Node* ptr) { prev = ptr; };//추가 }; 노드가 next만 가리키는 것이 아니라 prev도 가리켜야하므로 prev를 추가해주었다 Node::Node(int _data) { data = _data; next =..
LinkedList with class(단일) class Node { private: int data; Node* next; public: Node():data(0),next(NULL) {};//dummy node만들어서 head가 가리키게 만든다 Node(int _data);//생성자로서 멤버변수 data와 next를 결정한다 int GetData() { return data; };// data를 토해낸다 Node* GetNext() { return next; };// next를 토해낸다 void SetNext(Node* ptr) { next = ptr; }// next를 재설정한다 }; node를 만들었다. 접근자 영역을 멤버변수에 private으로 제한을 두고 나머지 메소드들은 public으로 두었다. 생성자 Node() : 디폴트 생성자로 d..
C++ 클래스와 constructor, destructor 간단 정리 #include using namespace std; class Point//클래스 정의 { public: int _x, _y;// member variable definition // 보통 멤버변수와 일반변수의 충돌을 피하기 위해 멤버변수의 이름을 '_'을 붙임 //const int maxCount; void Print();// member function--> // 호출하기 위해서는 반드시 객체 이름 명시! Point();// constructor(class와 동일한 이름을 가진 멤버함수 // 객체의 동작을 준비함 // 반환값이 존재하지 않는다(자동호출) Point(int initialX, int initialY); Point(const Point& pt);//copy constructor // 다른..
Big-O 표기법 big-O notaion 자료구조나 알고리즘에서 성능(효율성)을 측정하기 위한 지표 알고리즘의 효율성 = 데이터가 n개 주어졌을 때 사칙연산과 같은 기본 연산의 횟수 빅오표기법의 정의 어떤 양수 n0, c이 존재할 때 f(n)= O(g(n)), n0 이상의 모든 n에 대해 f(n) f(n) n f(n) = O(g(n)) = O(n) 따라서 n의 빅오표기법은 O(n)이 된다 (만약 여기서 g(n) = 2n, c = (1/2)n이라고 하면 빅오 표기법은 O(2n)이 된다) f(n) = 2n 이라고 하면 g(n) = n, c = 2 이라고 하면 c*g(n) = 2*n ==> f(n) 2n f(n) = O(g(n)) = O(n) 따라서 n의 빅오표기법은 O(n)이 된다 f(n) = (1/2)n 이라고 하면 g(..