목록C++/study (4)
class : Design Code
보수 : 보충하는 수 컴퓨터는 이진수만 이해할 수 있고, 이때 양음수를 구분하기 위해 보수가 사용된다. 즉, 보수는 양수를 음수화로 표현하기 위한 방법인 것이다. (컴퓨터 내부에서 A - B를 계산할 때 B의 보수(-B)를 구한 다음 A + (-B)로 계산.) 십진수로 본다면, 6의 보수는 4, 8의 보수는 2.. 이런 식으로 이해하면 된다. -1의 보수 : 모든 자릿수의 값이 1인 수에서 주어진 이진수를 뺀 값 (1->0, 0->1) -2의 보수 : 모든 자릿수의 값이 1인 수에서 주어진 이진수를 뺀 값에 1을 더한 수 (1의 보수에 1을 더한 값) ex) 이진수 1010의 1의 보수 : 0101 이진수 1010에 대한 2의 보수 : 0110
자료구조(Data Structure)란? 자료구조란, 데이터의 효율적 접근을 위해서 조직되는 자료 저장 구조. 실제 구현체로 ADT에서 정의된 동작을 실제로 구현한다. ADT(Abstract Data Type,추상 데이터 타입)이란? 어떤 자료형이나 자료구조를 구현할때, ADT는 그에 대한 설계도. 핵심적인 부분과 기능만을 표시. 각 자료구조가 따라할 연산 과정이 추상적으로 정의된 것이기 때문에 실제로 어떻게 구현해야하는지에 관한 내용은 언급하지 않는다. 무엇(what)인지는 정의하나, 어떻게(how) 구현하는 지는 정의하지 않는다. 즉, 개념적으로 어떤 동작이 있는지만 정의한다. Data Structure Abstract Data Type List Dynamic Array, Linked List Que..
*vector와 array array : 컴파일 단계에서 크기 결정. 즉, 크기가 고정됨. (stack memory 사용) vector : 동적 배열. 랜덤적으로 직접 접근 가능. (단, 검색이 느리고 중건 삽입 삭제 많을 때는 비효율적.)
what is map? : map은 각 노드가 key와 value 쌍으로 이루어져 있으며, first- key, second- value의 pair 객체로 저장된다. O(logn) 1) map 선언 map의 기본 구조는 map 2) insert / search /delete - map은 중복을 허용하지 않으므로, key가 중복되면 insert가 수행되지 않는다. - search는 iterator을 사용하며, 데이터를 찾지 못했을 경우, iterator는 map.end()를 반환한다. - delete는 erase와 clear를 사용한다. map m; //insert : 1 (key 값 중복 시 덮어씌우기 x) m.insert({"Cam", 300}); //insert : 2 일반 배열처럼 삽입가능 (key..