반응형 [Python] 알고리즘 개념13 퀴즈 - 그래프와 탐색 📌 퀴즈 개요다음 퀴즈를 통해 그래프(Graph)와 탐색(BFS, DFS) 개념을 정확히 이해하고 있는지 확인해 보세요! 😊 🧩 1. 개념 이해 문제 (1) 그래프(Graph)의 특징으로 옳지 않은 것은?그래프는 노드(Node)와 간선(Edge)으로 이루어진다.방향 그래프는 모든 간선이 양방향으로 연결되어 있다.가중치 그래프는 간선에 비용이나 거리가 부여될 수 있다.그래프는 다양한 자료구조로 표현될 수 있다. (2) 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)에 대한 설명으로 옳지 않은 것은?DFS는 한 방향으로 깊이 탐색하다가 막히면 다시 돌아온다.BFS는 가까운 노드부터 탐색하며, 최단 거리 문제 해결에 유용하다.DFS는 스택(Stack) 또는 재귀(Recursion)로 구현할 수 있다.. 2025. 2. 24. [Python] 알고리즘 개념12 퀴즈 - 트리와 이진 탐색 트리 📌 퀴즈 개요다음 퀴즈를 통해 트리(Tree)와 이진 탐색 트리(BST) 개념을 정확히 이해하고 있는지 확인해 보세요! 😊 🧩 1. 개념 이해 문제 (1) 트리(Tree)의 특징으로 옳지 않은 것은?계층적인 구조를 가진 비선형 자료구조이다.부모 노드는 하나 이상의 자식 노드를 가질 수 있다.트리는 반드시 루트 노드와 리프 노드를 포함해야 한다.트리는 사이클(Cycle)을 가질 수 있다. (2) 이진 탐색 트리(BST)의 특징으로 옳지 않은 것은?왼쪽 서브트리의 값은 루트보다 작다.오른쪽 서브트리의 값은 루트보다 크다.중위 순회(Inorder Traversal)를 수행하면 값이 정렬된 상태로 출력된다.BST에서는 중복된 값을 허용할 수 없다. 🧩 2. 실전 문제 (3) 다음 이진 탐색 트리에서 .. 2025. 2. 23. [Python] 알고리즘 개념12 - 트리(Tree)와 이진 탐색 트리(BST) 🚀 1. 트리(Tree)란?**트리(Tree)**는 계층적인 구조를 가진 비선형 자료구조예요. 💡 쉽게 이해하기🌳 **나무(Tree)**처럼 부모 노드(Parent)에서 여러 개의 자식 노드(Child)로 뻗어나가는 구조예요.🏠 가족 관계도, 회사 조직도처럼 계층적인 구조를 표현할 때 유용해요. 📌 트리의 기본 개념루트(Root): 트리의 시작 노드노드(Node): 데이터를 저장하는 단위엣지(Edge): 노드 간의 연결선리프(Leaf): 자식이 없는 노드➡ 트리는 탐색, 정렬, 데이터 구조화 등에 활용돼요. 🚀 2. 이진 트리(Binary Tree)란?**이진 트리(Binary Tree)**는 각 노드가 최대 두 개의 자식 노드를 가지는 트리예요. 📌 이진 트리의 특징**왼쪽 자식(Left.. 2025. 2. 23. [Python] 알고리즘 개념11 퀴즈 - 우선순위 큐와 힙 📌 퀴즈 개요다음 퀴즈를 통해 우선순위 큐(Priority Queue)와 힙(Heap) 개념을 정확히 이해하고 있는지 확인해 보세요! 😊 🧩 1. 개념 이해 문제 (1) 우선순위 큐(Priority Queue)의 특징으로 옳지 않은 것은?높은 우선순위를 가진 요소가 먼저 처리된다.일반적인 큐(Queue)와 다르게 삽입 순서가 중요하다.힙(Heap)을 사용하여 구현할 수 있다.모든 경우에서 항상 O(1)의 성능을 보장한다. (2) 최소 힙(Min Heap)과 최대 힙(Max Heap)에 대한 설명으로 옳지 않은 것은?최소 힙의 루트 노드는 항상 가장 작은 값이다.최대 힙의 루트 노드는 항상 가장 큰 값이다.최소 힙에서 요소를 삽입할 때 O(n)의 시간이 걸린다.Python의 heapq 모듈은 기본적.. 2025. 2. 23. [Python] 알고리즘 개념11 - 우선순위 큐와 힙(Heap) 🚀 1. 우선순위 큐(Priority Queue)란?**우선순위 큐(Priority Queue)**는 값이 들어온 순서와 상관없이 높은 우선순위를 가진 요소가 먼저 나오는 자료구조예요. 💡 쉽게 이해하기🏥 응급실 대기열처럼 동작해요!환자(데이터)의 우선순위에 따라 먼저 치료(처리)돼요.🔢 최소값 또는 최대값을 빠르게 찾는 데 유용해요!⏳ 일반적인 큐(Queue)와 다르게, 우선순위를 기준으로 요소를 정렬하여 처리해요. 📌 Python에서 우선순위 큐 구현import heapq # 힙을 이용한 우선순위 큐pq = []heapq.heappush(pq, (1, '응급 환자')) # (우선순위, 데이터)heapq.heappush(pq, (3, '일반 환자'))heapq.heappush(pq, (2,.. 2025. 2. 23. [Python] 알고리즘 개념10 퀴즈 - 해시 테이블과 해싱 📌 퀴즈 개요다음 퀴즈를 통해 해시 테이블(Hash Table)과 해싱(Hashing) 개념을 정확히 이해하고 있는지 확인해 보세요! 😊 🧩 1. 개념 이해 문제 (1) 해시 테이블(Hash Table)의 특징으로 옳지 않은 것은?키-값(Key-Value) 쌍을 저장하는 자료구조이다.해시 함수(Hash Function)를 사용해 특정 위치에 데이터를 저장한다.검색, 삽입, 삭제 연산의 평균 시간복잡도는 O(1)이다.모든 경우에서 항상 O(1)의 성능을 보장한다. (2) 해시 충돌(Hash Collision) 해결 방법이 아닌 것은?체이닝(Chaining)개방 주소법(Open Addressing)선형 검색(Linear Search)이차 탐사(Quadratic Probing) 🧩 2. 실전 문제 (.. 2025. 2. 23. [Python] 알고리즘 개념10 - 해시 테이블과 해싱 🚀 1. 해시 테이블(Hash Table)란?**해시 테이블(Hash Table)**은 키(Key)와 값(Value)을 저장하는 자료구조로, 데이터를 빠르게 검색할 수 있어요. 💡 쉽게 이해하기📦 **사전(Dictionary)**과 비슷하게 동작해요!🔢 데이터를 저장할 때, **해시 함수(Hash Function)**를 사용해 특정 위치(해시 버킷)에 저장해요.🚀 해시 함수를 통해 O(1) 시간 복잡도로 데이터 검색이 가능해요! 📌 해시 테이블의 기본 개념# Python의 딕셔너리를 활용한 해시 테이블 구현hash_table = {}hash_table['apple'] = 5hash_table['banana'] = 3print(hash_table['apple']) # 출력: 5➡ 딕셔너리는 내.. 2025. 2. 23. [Python] 알고리즘 개념9 퀴즈 - 재귀 함수의 스택 메커니즘 📌 퀴즈 개요다음 퀴즈를 통해 재귀 함수(Recursion)와 스택(Stack) 메커니즘 개념을 정확히 이해하고 있는지 확인해 보세요! 😊 🧩 1. 개념 이해 문제 (1) 재귀 함수(Recursion)의 기본 종료 조건(Base Case)에 대한 설명으로 옳지 않은 것은?재귀 함수가 무한히 실행되지 않도록 도와준다.기본 종료 조건이 없으면 스택 오버플로우(Stack Overflow)가 발생할 수 있다.기본 종료 조건이 없는 재귀 함수는 항상 None을 반환한다.기본 종료 조건을 만나면 더 이상 재귀 호출을 수행하지 않는다. (2) 다음 중 재귀 함수와 관련이 가장 적은 개념은?스택(Stack)후입선출(LIFO)큐(Queue)스택 오버플로우(Stack Overflow) 🧩 2. 실전 문제 (3).. 2025. 2. 23. [Python] 알고리즘 개념9 - 재귀 함수의 스택 메커니즘 🚀 1. 재귀 함수란?**재귀 함수(Recursion)**는 함수가 자기 자신을 호출하는 방식으로 동작하는 함수예요. 💡 쉽게 이해하기📞 전화를 걸면 상대방이 다시 나에게 전화를 거는 것과 비슷해요.🏗 문제를 작은 부분으로 나누어 같은 방식으로 해결해요.🛑 하지만 끝없이 호출되면 안 되므로 **기본 종료 조건(Base Case)**이 필요해요! 📌 재귀 함수의 기본 구조def recursive_function(n): if n == 0: return 0 # 종료 조건(Base Case) return n + recursive_function(n - 1) # 자기 자신 호출print(recursive_function(5)) # 5 + 4 + 3 + 2 + 1 + 0 = .. 2025. 2. 23. [Python] 알고리즘 개념8 퀴즈 - 큐 📌 퀴즈 개요다음 퀴즈를 통해 큐(Queue) 개념을 정확히 이해하고 있는지 확인해 보세요! 😊 🧩 1. 개념 이해 문제 (1) 큐(Queue)의 특징으로 옳지 않은 것은?선입선출(FIFO) 방식으로 동작한다.enqueue 연산을 통해 데이터를 추가할 수 있다.dequeue 연산을 통해 맨 위 요소를 제거할 수 있다.큐는 양쪽 끝에서 데이터를 추가 및 삭제할 수 있다. (2) 다음 중 큐의 활용 사례가 아닌 것은?프로세스 스케줄링네트워크 패킷 처리웹 브라우저의 뒤로 가기 기능작업 대기열(Task Queue) 🧩 2. 실전 문제 (3) 다음 코드의 실행 결과는?from collections import dequequeue = deque()queue.append(10)queue.append(20).. 2025. 2. 21. [Python] 알고리즘 개념7 퀴즈 - 스택 📌 퀴즈 개요다음 퀴즈를 통해 스택(Stack) 개념을 정확히 이해하고 있는지 확인해 보세요! 😊 🧩 1. 개념 이해 문제 (1) 스택(Stack)의 특징으로 옳지 않은 것은?push 연산을 통해 데이터를 추가할 수 있다.스택의 맨 아래 요소를 pop 연산으로 제거할 수 있다.peek 연산을 통해 스택의 맨 위 요소를 확인할 수 없다.후입선출(LIFO) 방식으로 동작한다. (2) 다음 중 스택의 활용 사례가 아닌 것은?실행 취소(Undo) 기능웹 브라우저의 뒤로 가기 기능큐(Queue)를 사용한 프로세스 스케줄링재귀 함수 호출 스택 🧩 2. 실전 문제 (3) 다음 코드의 실행 결과는?from collections import dequestack = deque()stack.append(10)st.. 2025. 2. 21. [Python] 알고리즘 개념6 퀴즈 - 연결 리스트(Linked List) ✅ 퀴즈 1연결 리스트(Linked List)의 주요 특징으로 옳지 않은 것은?동적 메모리 할당이 가능하다.중간 삽입 및 삭제가 배열보다 효율적이다.노드는 서로 독립적으로 존재하며 연결될 필요가 없다.각 노드는 데이터와 다음 노드를 가리키는 포인터로 구성된다. ✅ 퀴즈 2다음 코드가 출력하는 결과는 무엇인가?class Node: def __init__(self, data): self.data = data self.next = Noneclass LinkedList: def __init__(self): self.head = None def append(self, data): new_node = Node(data) if not s.. 2025. 2. 20. 이전 1 2 3 4 다음 반응형