[C언어로 쉽게 풀어쓴 자료구조] 1장 연습문제

2023. 8. 18. 21:53·공부/자료구조 | 알고리즘

Q1. 2개의 정수를 서로 교환하는 알고리즘을 의사코드로 작성해보자.

A1.

 

Q2. 사용자로부터 받은 2개의 정수 중에서 더 큰 수를 찾는 알고리즘을 의사코드로 작성해보자.

A2.

 

Q3. 1부터 n까지의 합을 계산하는 알고리즘을 의사 코드로 작성해보자.

A3.

 

Q4. set(집합) 추상자료형을 정의하라. 다음과 같은 연산자들을 포함시켜라.

Create, Insert, Remove, Is_In, Union, intersection, Difference

A4.

 

Q5. Boolean 추상 자료형을 정의하고 다음과 같은 연산자들을 포함시켜라.

A5.

 

Q6. 다음과 같은 코드의 시간 복잡도는? 여기서 n이 프로그램의 입력이라고 가정하자.

A6.

 

Q7. 다음과 같은 코드의 시간 복잡도는? 여기서 n이 프로그램의 입력이라고 가정하자.

	for (i = 0; i < n; i++)
		for (j = 1; j < n; j *= 2)
			printf("Hello");

A7.

 

Q8. 시간 복잡도 함수 n^2 + 10n + 8를 빅오 표기법으로 나타내면?

  1. O(n)
  2. O(n log_2 n)
  3. O(n^2)
  4. O(n^2 log_2 n)

A8.

 

Q9. 시간 복잡도 함수가 7n + 10이라면 이것이 나타내는 것은 무엇인가?

  1. 연산의 횟수
  2. 프로그램의 수행시간
  3. 프로그램이 차지하는 메모리의 양
  4. 입력 데이터의 총개수

A9.

 

Q10. O(n^2) 의 시간 복잡도를 가지는 알고리즘에서 입력의 개수가 2배로 되었다면 실행시간은 어떤 추세로 증가하는가?

A10.

 

Q11. f(n)에 대하여 엄격한 상한을 제공하는 표기법은 무엇인가?

A11.

 

Q12. 다음의 빅오 표기법들을 수행시간이 적게 걸리는 것부터 나열하라.

A12.

 

Q13. 두 함수 30n + 4 와 n^2를 여러 가지 n값으로 비교하라. 언제 30n + 4가 n^2보다 작은 값을 갖는지를 구하라. 그래프를 그려보라.

A13.

 

Q14. 다음은 실제로 프로그램의 수행시간을 측정하여 도표롤 나타낸 것이다. 도표로부터 이 프로그램의 시간 복잡도를 예측하여 빅오 표기법으로 나타내라.

입력의 개수 n 수행시간 (초)
2 2
4 8
8 25
16 63
32 162

A14.

 

Q15. 빅오 표기법의 정의를 사용하여 다음을 증명하라.

5n^2 + 3 = O(n^2)

A15.

 

Q16. 빅오 표기법의 정의를 이용하여 6n^2 + 3n이 O(n)이 될 수 없음을 보여라.

A16.

 

Q17. 배열에 정수가 들어 있다고 가정하고 다음의 작업의 최악, 최선의 시간복잡도를 빅오 표기법으로 말하라.

  1. 배열의 n번째 숫자를 화면에 출력한다.
  2. 배열안의 숫자 중에서 최소값을 찾는다.
  3. 배열의 모든 숫자를 더한다.

A17.

 

 

'공부 > 자료구조 | 알고리즘' 카테고리의 다른 글

[자료구조] 연결 리스트  (0) 2024.01.26
[자료구조] 스택과 큐  (0) 2024.01.26
[C언어로 쉽게 풀어쓴 자료구조] 1.3 알고리즘의 성능 분석  (0) 2023.08.08
[C언어로 쉽게 풀어쓴 자료구조] 1.2 추상 자료형  (0) 2023.08.08
[C언어로 쉽게 풀어쓴 자료구조] 1.1 자료구조와 알고리즘  (0) 2023.08.08
'공부/자료구조 | 알고리즘' 카테고리의 다른 글
  • [자료구조] 연결 리스트
  • [자료구조] 스택과 큐
  • [C언어로 쉽게 풀어쓴 자료구조] 1.3 알고리즘의 성능 분석
  • [C언어로 쉽게 풀어쓴 자료구조] 1.2 추상 자료형
2월2
2월2
  • 2월2
    서벅돌의 성장일기
    2월2
  • 전체
    오늘
    어제
    • 분류 전체보기 (120)
      • TIL (2)
      • Server (28)
        • spring (7)
        • node.js (16)
        • 기타 (5)
      • App&Web (17)
        • Web (1)
        • Android (16)
        • iOS (0)
      • 공부 (59)
        • 깃&깃허브 (3)
        • 파이썬 (17)
        • 유니티 (4)
        • 자료구조 | 알고리즘 (15)
        • 자바 (3)
        • 운영체제 (8)
        • AI와 데이터 (9)
      • 대외활동 (12)
        • NPC 동아리 (1)
        • UMC 동아리 (11)
      • 대학교 (1)
        • 교직 (1)
      • 기타 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글 관리
  • 링크

  • 공지사항

    • Notice
  • 인기 글

  • 태그

    Python
    kotlin
    mysql
    파이썬
    Unity
    자바
    유니티
    Android
    C
    코틀린
    안드로이드
    Lua
    java
    루아
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
2월2
[C언어로 쉽게 풀어쓴 자료구조] 1장 연습문제
상단으로

티스토리툴바