목록Computer/자료구조 (20)
Machineboy空
1.3 Run Time Analysis 런타임 분석은 입력 데이터의 크기를 늘려가며 어떤 알고리즘이 빠른지 분석하는 기법. 배열의 사이즈를 재조정하는 방법 2가지를 비교해보았음. Run-Time Analysis allows us to formalize a method of comparing the speed of an algorithm as the size of input grows. We summeraize the runtime in "Big-O notation", leaving only the term that dominates the growth O(1), constant time approximately same time no matter how many data. O(n), linear time..
1.1 Arrays An array stores data in blocks of sequential memory. so that as soon as one element ends, the next element begins. Array Limitation #1 : 모든 요소가 같은 데이터 타입 Elements are all the same type: ex) An integer array must only contain integers. The size(number of bytes) of the type of data is known. We can calculate the offset to any given index from the start of the array: *offset: 고정점으로부터의 위치..
4.6 Inheritance Inheritance allows for class to inherit all member functions and data from a base class into a derived class. Generic to Specialized A base class is a generic form of a speciallized, derived class. without having to rewrite logic, Initialization When a derived class is initialized, the derived class must construct the base class: Cube must construct Shape By default, uses default..
4.5 Templates and Classes C++ allows for us to use the power of templates in building our own classes and functions. Templated Functions A template variable is defined by declaring it before the beginning of a class or function: //class template class List{ private: T data; }; //function template int max(T a, T b){ if(a >b) {return a;} return b; } Compile-TIme Binding Templated variables are che..
템플릿은 사용자가 템플릿 매개 변수에 대해 제공하는 인수를 기반으로 컴파일 시간에 일반 형식 또는 함수를 생성하는 구문 4.1 Template Types A template type is a special type that can take on different types when the type is initialized. std::vector uses a template type: std::vector std::vector standard library class that provides the functionality of a dynamically growing array with a "templated" type. Key ideas: Defined in #include Initialization ..
3.4 Variable storage In C++, an instance of a variable can be stored directly in memory accessed by pointer, or accessed by reference. 3 different ways of storing access to variables 3 different ways of pass variables around function 1. Direct Storage 타입에 따른 메모리 크기 By default, variables are stored directly in memory. The type of a variable has no modifiers. The object takes up exactly its size i..
보다 구조적으로, c++ 하단에서 어떤일이 일어나는지 보여준다. 무심코 썼던 함수라거나, 전역변수를 초기화하지 않았을 때 디폴트값이 설정되는 것등을 해주는 보이지 않는 녀석들에 관한 이야기. 클래스 생성자, 자동 복사 생성자 등 생성자는 기본 생성자가 있고 복사해서 생성하는 방법이 있다. 그리고 복사해서 생성할 때 변수 공간에 할당하는 연산자를 알아볼 것. 3.1 Class Constructor When an instance pf a class is created, the class constructor sets up the initial state of the object. ex. Default : Unit Cube(d=1) Automatic Default Constructor If we do not ..
2.2 Heap Memory Unlike stack memory, Heap memory allows us to create memory independent of the lifecycle of a function. Heap Memory If memory needs to exist for longer than the lifecycle of the function, we must use heap memory. The only way to create heap memory in C++ is with the new operator The new operator returns a pointer to memory storing the data - not an instance of the data itself. me..