| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 윤성우의 열혈 자료구조
- C 언어 코딩 도장
- 메모리구조
- insertion sort
- list 컬렉션
- R
- 윤성우 열혈자료구조
- Selection Sorting
- Graph
- coding test
- ㅅ
- 알기쉬운 알고리즘
- stream
- 이스케이프 문자
- 이것이 자바다
- buffer
- Serialization
- s
- Stack
- JSON
- 혼자 공부하는 C언어
- Algorithm
- C programming
- datastructure
- Today
- Total
목록Computer Science (100)
Engineering Note
재귀함수는 자신의 이름의 함수를 호출하면서 종료조건에 수렴해 가야한다. 그러므로 반드시 종료조건이 있어야한다. 종료조건이 없다면 무한 재귀에 빠지면서 프로그램이 종료된다. 재귀를 이해하기 위해서는 함수의 수행 순서를 이해할 필요가 있다. 함수가 호출 되면 스택에는 함수의 매개변수, 호출이 끝난뒤 돌아갈 반환 주소값, 함수에서 선언된 지역 변수 등이 저장됩니다. 이렇게 스택 영역에 차례대로 저장되는 함수의 호출 정보를 스택 프레임(stack frame)이라고 합니다. 이러한 스택 프레임 덕분에 함수의 호출이 모두 끝난 뒤에, 해당 함수가 호출 되기 이전 상태로 되돌아 갈 수있습니다. 스택프레임의 동작방식을 스택 자료구조형태로 이해하는 것은 조금 불편한 부분이 있기 때문에 트리구조의 모양으로 그려서도 설명하..
Queue 큐는 스택과 마찬가지로 데이터를 일시적으로 쌓아 놓은 자료구조입니다. 하지만 가장 먼저 넣은 데이터를 가장 먼저 꺼내는 선입(FIFO, First In First Out)인 점이 스택과 다릅니다. 생활에서 볼수 있는 큐의 에는 은행창구에서 차례를 기다리는 대기열이나 마트에서 계산을 기다리는 대기열을 들 수 있습니다. 큐에 데이터를 넣는 작업을 enqueue라하고, 데이터를 꺼내는 작업을 dequeue 라고합니다. 또 데이터를 꺼내는 쪽을 front라 하고, 데이터를 넣는 쪽을 rear라고 합니다. 배열과 front, rear 변수를 사용해 쉽게 queue를 구현할 수 있습니다. front와 rear라는 변수를 도입한 이유는 현실세계처럼 queue를 컴퓨터상에서 구현하려면 많은 자원을 필요로 합..
* 자료구조 코드 구현시 Tip 1.해당 자료구조 개념에 대한 이해 2.이해한 내용을 바탕으로 해당 자료구조에 어떤 데이터와 어떤 함수인터페이스가 필요할지 생각 (위의 내용을 추상화라고 하고 이 추상화하는 것이 중요함) 3.기본적인 코드를 구현한 후에는 예외상황들에 대한 코드 최적화 작업을 진행 ex) 스택에서는 데이터를 넣고 뺄 메모리공간을 쉽게 만들수 있는 배열로 메모리공간을 생성하고 순서(데이터 위치상태)를 기억하기 위한 top변수가 필요함을 생각합니다. 그리고 데이터를 넣는 Push함수, Pop함수를 생성합니다. 그리고 코드 최적화 단계에서 어플리케이션 별로 스택이 필요 할 수 있으므로 위의 배열 메모리공간과 top변수를 위한 구조체를 생성하고 초기화 함수를 통해 해당 배열이 프로그램 동작시 공간..
스택은 데이터를 일시적으로 저장하기 위해 사용하는 자료구조로, 데이터의 입력과 출력 순서는 후입선출(LIFO, Last In First Out, FIFO,First In Last Out)입니다. 기본적으로 입력과 출력 이라는 함수 인터페이스로 동작합니다. * 자료구조 코드 구현시 Tip 1.해당 자료구조 개념에 대한 이해 2.이해한 내용을 바탕으로 해당 자료구조에 어떤 데이터와 함수 인터페이스가 필요할지 생각 (위의 내용을 추상화라고 하고 이 추상화하는 것이 중요함) 3.기본적인 코드를 구현한 후에는 예외상황들에 대한 코드 최적화 작업을 진행 ex) 스택에서는 데이터를 넣고 뺄 메모리공간을 쉽게 만들수 있는 배열로 메모리공간을 생성하고 순서(데이터 위치상태)를 기억하기 위한 top변수가 필요함을 생각합니..