강좌 : 부스트캠프 모두를 위한 컴퓨터과학(cs50 2019)
O(n²)
: 선택정렬, 버블정렬O(n log n)
: 병합정렬O(n)
: 선형검색O(log n)
: 이진검색O(1)
Ω(n²)
: 선택정렬Ω(n log n)
: 병합정렬Ω(n)
: 버블정렬 → 상황에 따라서 선택정렬보다 더 빠른 방법이 된다Ω(log n)
Ω(1)
: 선형검색, 이진검색Θ(n²)
: 선택정렬Θ(n log n)
: 병합정렬중첩루프 사용
#include<cs50.h>
#include<stdio.h>
void draw(int h);
int main(void)
{
int height=get_int("Height: "); // 사용자로부터 피라미드 높이를 입력받는다
draw(height); // 피라미드 그리기
}
void draw(int h) // 높이를 입력받아 중첩루프를 통해 피라미드를 출력하는 draw함수 정의
{
for(int i=1; i<=h; i++) // 높이만큼 반복
{
for(int j=1; j<=i; j++) // 높이만큼 #의 갯수가 증가하기 때문에 <= 사용
{
printf("#");
}
printf("\n");
}
}
재귀함수 사용
#include<cs50.h>
#include<stdio.h>
void draw(int h);
int main(void)
{
int height=get_int("Height: ");
draw(height);
}
void draw(int h)
{
if(h==0) // 종료조건
{
return;
}
draw(h-1);
for(int i=0; i<h; i++)
{
printf("#");
}
printf("\n");
}