일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 배열
- javascript 생성자
- new 사용법
- access
- Index Skip Scan
- 배열 스택
- Loose Index Scan
- C#
- 포인터
- 확장 엘리먼트
- Index Range Scan
- 자료구조
- javascript new
- 연결리스트
- pattern
- 큐 연결리스트
- 추상적 자료 구조
- npm Option
- jQuery
- Index Full Scan
- 연결 리스트
- 스택
- 연동
- 스택 배열
- 이중 연결 리스트
- javascript this
- 생성자 new
- c언어 스택 배열
- 생성자
- javascript prototype
- Today
- Total
목록스택 (3)
Open-Closed Principle
큐는 입구와 출구가 따로 있는 긴 통이라고 생각하면 된다. 큐는 접근이 제한된 자료구조이며 행위적 측면을 부여받은 추상적 자료형이기 때문에 큐를 조작하는 방법은 두가지로 제한되어 있다. 큐를 조작하는 방법은 put 동작과 get 동작이 있다. 큐에 자료를 집어넣을 때는 뒤(rear)에서 집어넣는다. 이 집어넣는 동작은 put 동작이라고 한다. 그리고 큐에서 자료를 얻어낼 때는 앞(front)에서 얻어낸다. 이 자료를 얻는 동작은 get 동작이라고 한다. 배열을 이용해서 큐를 구현하는 것은 문제가 없어 보이지만 문제가 많다. 배열을 이용한 큐의 구현은 자료를 저장할 배열과 앞과 뒤를 가리키는 변수만 있으면 될 것같다. 하지만 큐에 자료를 집어 넣고 빼는 동작을 계속하다보면 rear와 front는 계속 증가..
연결리스트 자체가 동적인 할당을 통해서 구현되기 때문에 연결리스트를 이용해서 구현되는 스탹은 매우 유연하다. 연결 리스트를 이용하여 스택을 구현할 때의 장점은 현재 스택에 저장되어 있는 자료 만큼만 메모리를 잡아먹기 때문에 메모리가 절약되고 스택의 크기가 메모리가 허용하는 한도에서 커질 수 있다는 것이다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788#include #include // 리스트 노드 typedef struct _node{ int key; ..
스택은 제한된 접근 방식의 행위적 측면을 부여받은 자료 구조이다. 이러한 자료구조를 추상적 자료 구조(Abstract Data Structure)라고 한다. 스택이 어떤 제한된 접근 방식과 행위적 부여 받았는지 지금부터 살펴보도록 하겠다. 스택의 구조는 매우 간단한다. 스택은 밑이 막힌 긴 통이라고 보면 되겠다. 밑이 막힌긴 통은 무언가를 넣는 곳과 무언가를 통에서 빼내는 곳이 같다. 입구와 출구가 같기 때문에 먼저 들어간 것은 밑에 있게 되고 나중에 들어간 것이 위에 있다.그러면 제일 나중에 들어간 것이 제일 먼저 나오게 된다. 그래서 스택을 LIFO(Last In First Out) 구조라고 한다. 스택을 프로그램에서 구현할 때에는 여러가지 방법이 있지만 가장 많이 사용되는 방법은 배열과 연결 리스트..