4. 재귀 호출Recursion 1. 재귀호출 서론 유의점1. 물론 종료조건이 없으면 안 된다. 2. 상호 호출해서 1의 상황을 일으켜도 안 된다. 전략1. 문제의 크기를 조금씩 줄여가는 방법. 문제의 크기가 점진적으로 줄어드는 점에서 두번째 유형과 다르다.2. 문제의 크기를 양분하여 가는 방법. 꼭 절반이 아니어도 되며(퀵 정렬) devide and qunquer라고도 부른다.3. 문제 자체에 점근하여 가는 방법. 트리에서 노드를 찾아갈 때 한번에 찾을 순 없다.... 근데 난 왜 잘 구분이 안 가지. 특히 1, 2번. 예제로는 누승factorial 구하기, 피보나치 수열 구하기, 하노이의 탑이 나왔다. 2. 재귀함수를 비재귀함수로 바꾸기 비재귀함수로 바꿔야 하는 걸까? 이유는 함수를 부를 때마다 오버..
3. 자료구조 - 스택, 큐, 트리 1. 스택 알다시피 선입후출형의 자료구조이다. 이것을 구현하는 걸 배열이나 연결 리스트로 할 수 있는데.... 혼연C는 배열이 좋다고 하고 이 교재는 리스트가 좋다고 한다!!!근데 난 혼연C가 옳다고 생각. 일단 구현은 쉬우니까. push()하고 pop()만 만들면 되는..둘 다 장단점은 다 있으니까 여기서 스톱한다. 예제는 계산기. 전위식을 후위식으로 바꿔 스택에 저장한 후 계산하는 방식이다.지금해도 만만찮지만, 예전에 한 번 만들어 본 적이 있다. 아.. 만들기 귀찮아..근데 자료구조 풀다가 스택은 만들어 버렸다.. 동적할당을 지원하고 배열로 구현했다. 보라고 만든 건 아니다. 그냥 기념 -.-아, 여기에 하나 주석. 왜 혼연C하고 C로.. 교재는 둘 다 스택 특이..
제 3장. 자료구조 - 배열, 연결 리스트 1. 자료구조란.. 앞에서 구조화 프로그래밍이란 개념을 배웠다고 한다. 생각해보니 내가 본 옛날 C코드 중에 코드와 데이터를 구분하지 않고 실행하는 것 같은 소스가 있었다. 아마 비구조적 프로그래밍이 이런 것이 아닐까 싶은데, 마침 찾을 수 있었으니 첨부한다. /* 지금의 컴파일러도 해석할 수 있게 살짝 수정했다. Visual studio에선 돌아간다. *//* http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION00400000000000000000 */#include int main(int t,int _,char* a){return!0Insert_after로 간단히 구현할 수 있는 걸 비슷한 코드 2개를 만들어버렸다. 원인을 ..
2. C 언어 1. 컴퓨터 언어의 흐름 아마도 당연한 얘기. 처음 시작은 천공카드부터 시작해서 기계어, 어셈블리어로 왔다. 어셈블리어는... 당연히 쓰기 어렵다.FORTRAN, COBOL, BASIC이 이때 쓰였다는데, Function개념이 이때 처음 쓰였다고 한다. 하지만 제어구조가 원시적이어서goto문의 남발로 인한 스파게티코드의 진수라고 불렀다는데, BASIC이 그런가? 지금은 개량된 건가? 2. 프로그래밍 개념 데이터·코드의 추상화: 그냥 데이터와 코드가 구체적이지 않게 된다. 고급언어의 코드와 데이터를 떠올리면 쉽다. 구조적 프로그래밍Structured Programming은 goto문을 쓰지 않고도 process, decision, iteration제어만으로 모든 프로그램이 표현가능하다는 것을..
1. 개요 1. 알고리즘의 정의 책이서는 알고리즘의 정의를 이렇게 하고 있다. “알고리즘이란 주어진 문제를 해결하기 위한 잘 정의된 동작들의 유한 집합이다.” 2. 알고리즘과 자료구조와의 관계 그냥 밀접한 관계라고만 알고 있었는데 말이지.. 알고리즘과 자료구조는 뗄레야 뗄 수 없는 관계임은 명백하다.책에서는 그 관계를 계란의 노른자와 흰자로 비유했는데, 그 전체 크기가 정해져 있어 한쪽이 복잡해지면 다른 쪽이 단순해진다고 했다.예를들어 스택이 큐같은 자료구조는 그 자체로 자료를 취급하는 행위까지 규정하고 있어 추상적인 자료형Abstracted data type이라 한다. 이렇게 자료구조가 행위적 측면을 포함하면 알고리즘은 그 행위적 측면때문에 단순해진다고 했다. 책만 봐서 그런지 잘은 모르겠지만, 행위적..
- Total
- Today
- Yesterday
- CLion
- SHAREX
- Windows Defender
- software compraison
- game design
- Qt5
- Code Snippet
- MSVC
- WSL
- Rust
- V3 Lite
- gram
- error highlighting
- Kotlin
- coroutine
- Authentication
- Deemo
- JWT
- C/C++
- IntelliJ
- Haskell
- MSVC 2017 RC
- getch()
- Notion
- novel review
- React
- MSVC2013
- C++11
- hooks
- intellisense
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |