본문 바로가기

반응형

학습공간

(76)

[3장] 배열, 구조체, 포인터 배열, 구조체, 포인터에 대한 문제풀이 내용이다. 배열(Arrays)이란? - 같은 형의 변수를 여러개 만드는데 사용된다. 반복 코드 등에서 배열을 사용하면 효율적 프로그래밍이 가능하다. 구조체(Struct)이란? - 하나 이상의 변수를 묶어서 좀더 편하게 사용할 수 있도록 도와주는 도구이다. - 똑같은 구조의 변수를 여러번 사용할 경우 유용하다. 포인터(Pointer)이란? - 변수의 주소를 가리키는 것이다. - 포인터 변수를 선언하여 주소를 저장하게 되면 그 변수의 주소를 가리키게 되는 것이다. 아래 문제들을 풀어보자. 01. C 언어에서의 배열에 대하여 다음 중 맞는 것은? (1) 3차원 이상의 배열은 불가능하다. (2) 배열의 이름은 포인터와 같은 역할을 한다. (3) 배열의 인덱스는 1에서부터 ..
[2장] 순환 순환에 대한 문제풀이 내용이다. 순환(Recursion)이란? 알고리즘 내에서 자기 자신을 호출하는 것을 의미한다. 순환의 종류에는 직접 순환(Direct Recursion), 간접 순환(Indirect Recursion) 두 가지가 있다. 피보나치 수열, 팩토리얼 등은 함수 스스로를 호출하는 직접 순환이고, 간접 순환은 중간에 다른 함수를 거쳐서 돌아오는 것을 말한다. 이런 재귀 함수는 잘 사용하면 코드를 짧고 효율적으로 사용할 수 있겠지만, 함수가 완전히 종료되기 전까지 스택의 메모리 구조에 쌓이기 때문에 반복문을 이용해 대체하기도 한다. 아래 문제들을 풀어보자. (순환 피보나치 수열 vs 반복 피보나치 수열 수행시간 비교) 06. 다음의 순환 호출 함수에서 잘못된 점은 무엇인가? int recurs..
[1장] 자료구조와 알고리즘 빅오 표기법에 대한 문제풀이 내용이다. 빅오 표기법(big-O notation)이란? 알고리즘의 효율성을 표기해주는 표기법이다. 좀더 정확하게 설명하면, 해당 소스코드를 컴파일 했을때 시간 복잡도와 공간 복잡도(메모리)의 상한치가 어느정도 되는가를 알려주는 지표이기도 하다. 아래 문제들을 풀어보자. 08. 다음의 빅오 표기법들을 수행 시간이 적게 걸리는 것부터 나열하라. O(1) O(n) O(log n) O(n²) O(nlog n) O(n!) O(2ⁿ) --> O(1)
[Intro] 자료구조 학습공간 학습에 앞서서 먼저 자료구조가 무엇인지 알아야 한다. 자료구조란? (출처: 위키백과) 자료구조(資料構造, 영어: data structure)는 전산학에서 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다. 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다. 백과사전의 말은 너무 딱딱하다. 쉽게 얘기하면 어떤 언어로든지 코딩을 하려면 사람마다 다양한 방식으로 소스코드를 짜게 되는데, 보다 효율적으로 자료를 읽고/쓰고/저장하고/삭제하고/갱신하도록 정형화 된 가이드 라인을 제시하는 방법론이다. 자료구조는 선형(Linear)와 비선형(NonLinear) 구조로 나뉘게 되고, 선형의 대표적인 구조는 배열(Arrays), 연결리스트(Linked List), 스택(Stack), 큐(..
반응형