공부/자료구조
-
Stack, Queue, Circular Queue공부/자료구조 2018. 7. 30. 23:02
StackLIFO(Last-In-First-Out) - 가장 마지막에 들어온 데이터가 가장 먼저 나감 stack에서 데이터의 삽입, 삭제를 push와 pop으로 부름stack을 구현하기 위해선, 초기에 pop이 되지 않도록 array가 비어 있는지 확인하는 함수 (isEmpty)가 필요. 타입선언 언어라면 어레이의 사이즈를 정하기 때문에 어레이에 데이터가 가득 찼는지 확인하는 함수 (isFull)이 필요.QueueFIFO(First-In-First-Out) - 가장 먼저 들어온 데이터가 가장 먼저 나감 위 그림에서 f(front)는 데이터의 시작위치를 가리키고 r(rear)은 현재 입력된 데이터의 위치를 가리킴 stack과 유사하게 어레이가 비어있는지 확인하는 함수 (isEmpty)와 가득 찼는지 확인하..
-
ADT, 복잡도(시간복잡도, 공간복잡도), 빅오 분석법공부/자료구조 2018. 7. 29. 23:38
추상화(Abstraction) - 중요한 속성만 포함하는 개체.즉 가장 중요한 것에 초점을 두고 그 이외의 부가적인 것은 무시함.ADT - Abstract Data Type한 개의 특별한 데이터 타입의 데이터 표현과 그 타입의 연산을 제공하는 부 프로그램만을 포함하는 클로저이다. 한마디로 사용자에게는 연산에 대한 형식과 제약조건만 알려주고 실제로 어떻게 처리되는지는 표현하지 않는 기능타입 객체의 표현은 숨겨지고 타입의 정의에서 연산 제공타입 선언과 연산들은 단일 구문 단위에 포함자바의 클래스 타입이라 볼 수 있음 ADT에서 중요한 것은 어떻게 구현되는지는 몰라도 무엇을 하는지 알면 사용자는 만들 수 있다는 점.복잡도 (Complexity)프로그램의 실행이 얼마나 오래 걸리는가 (= time complex..