반응형

분류 전체보기 685

(C언어) 이진 탐색 트리(BTS, Binary Search Tree)에서 노드의 삽입 삭제 검색

C언어를 이용해서 이진 탐색 트리(BTS, Binary Search Tree)를 구현한 코드입니다. 노드의 생성, 삽입, 삭제 그리고 중위 순회로 탐색하는 코드를 포함하고 있습니다. 이진 트리의 노드를 나타내는 구조체입니다. struct Node { int data; struct Node* left; struct Node* right; }; 노드를 생성하는 함수입니다. struct Node* createNode(int data) { struct Node* newNode = (struct Node*)malloc(sizeof(struct Node)); newNode->data = data; newNode->left = NULL; newNode->right = NULL; return newNode; } 노드의..

C_C++ 2023.11.08

(C언어) 연결 리스트(linked list)를 이용한 스택(stack) 구현하기

C 언어에서 연결 리스트를 이용해서 스택을 표현해 봅니다. 스택은 후입선출(LIFO) 데이터 구조로 마지막에 입력된 자료가 가장 먼저 제거되는 자료구입니다. 여기서는 스택에 요소를 삽입(push)하고 제거(pop)하는 기능이 포함되어 있습니다. 연결 리스트를 사용하면 스택의 크기가 동적으로 변경될 수 있습니다. 먼저, 스택의 각 노드를 나타내는 구조체를 정의합니다. #include #include // 스택의 노드를 나타내는 구조체 struct Node { int data; struct Node* next; }; 다음으로, 스택을 나타내는 구조체를 정의합니다. struct Stack { struct Node* top; }; 스택의 요소를 생성하는 함수를 정의합니다. struct Stack* createS..

C_C++ 2023.11.04

(C언어) 연결 리스트로 이진 트리 구현

C 언어를 이용하여 트리(Tree)를 구현하는 방법은 여러 가지가 있습니다. 트리 구조는 많은 종류가 있으며, 여기서는 이진 트리(Binary Tree)를 구현하는 예제입니다. 이진 트리는 각 노드가 최대 두 개의 자식 노드를 가지는 트리입니다. 먼저, 이진 트리의 간단한 구조를 정의해 보겠습니다. 각 노드는 데이터와 두 개의 포인터(왼쪽 자식 노드 및 오른쪽 자식 노드를 가리키는 포인터)로 구성됩니다. 아래는 이진 트리의 구조를 정의한 C 코드입니다. #include #include // 이진 트리 노드 구조체 정의 struct TreeNode { int data; struct TreeNode* left; struct TreeNode* right; }; // 새로운 노드를 생성하는 함수 struct T..

C_C++ 2023.11.01

(C언어) 이중 연결리스트( Doubly Linked List): 노드 추가 삭제

이중 연결리스트(Doubly Linked List)를 구현한 C언어 소스입니다. 이중 연결리스트는 각 노드가 다음 노드와 이전 노드를 가리키는 연결된 데이터 구조입니다. 아래의 소스에는 다음과 같은 기능이 구현되어 있습니다. 노드 생성 : createNode() 노드 초기화: initializeList() 노드를 리스트의 끝에 추가: append() 노드를 리스트의 맨 처음에 추가: prepend() 노드 삭제: deleteNode() - 헤드 노드 삭제, 특정 노드 삭제 리스트 출력: printList() 이중 연결리스트의 구조체 정의는 다음과 같이 정의되어 있습니다. // 노드 구조체 정의 struct Node { int data; struct Node* next; struct Node* prev; ..

C_C++ 2023.10.28

(C언어) 자료구조: 연결리스트(linked list)로 표현한 큐(queue)

C 언어로 연결 리스트(linked list)를 활용하여 큐(Queue)를 표현했습니다. 큐는 데이터를 FIFO(First-In-First-Out) 방식으로 처리하는 자료 구조로 먼저 입력된 자료가 먼저 출력되는 자료 구조입니다. 먼저, 연결 리스트의 노드를 정의합니다. 각 노드는 데이터와 다음 노드를 가리키는 포인터로 구성됩니다. // 큐 노드 구조체 정의 typedef struct QueueNode { int data; struct QueueNode* next; } QueueNode; // 큐 구조체 정의 typedef struct Queue { QueueNode* front; // 큐의 맨 앞 노드 QueueNode* rear; // 큐의 맨 뒤 노드 } Queue; void initializeQu..

C_C++ 2023.10.26

(C언어) 자료구조: 배열로 큐(Queue) 표현하기, 장점 단점

큐는 데이터 구조 중 하나로, FIFO(First In First Out) - 데이터를 먼저 집어넣은 순서대로 꺼낼 수 있는 - 자료구조입니다. 이 예제에서는 배열(Array)을 사용하여 큐(queue)를 구현하는 C언어 코드입니다. 테스트를 위해서 큐의 크기를 5로 설정했습니다. #include #include #define MAX_QUEUE_SIZE 5 struct Queue { int items[MAX_QUEUE_SIZE]; int front; int rear; }; struct Queue* createQueue() { struct Queue* queue = (struct Queue*)malloc(sizeof(struct Queue)); queue->front = -1; queue->rear = -..

C_C++ 2023.10.25

(파이썬) zip(), dict(): 두 개의 리스트(list)를 딕셔너리(dictionary)로 만들기

파이썬에서 두 개의 list를 이용해서 dictionary로 만드는 예입니다. lst1 = ['apple', 'pear', 'grapes', 'orange','banana'] lst2 = ['사과', '배', '포도', '오렌지','바나나'] dic1 = dict(zip(lst1, lst2)) lst1 ['apple', 'pear', 'grapes', 'orange', 'banana'] lst2 ['사과', '배', '포도', '오렌지', '바나나'] dic1 {'apple': '사과', 'pear': '배', 'grapes': '포도', 'orange': '오렌지', 'banana': '바나나'} dic1.keys() dict_keys(['apple', 'pear', 'grapes', 'orange',..

Python 2023.10.24

(플로우고리즘) 순서도 기반 프로그래밍 언어: Flowgorithm 다운로드 및 간단한 예제

플로우리즘은 간단한 순서도를 기반으로 하는 초보자용 프로그래밍 언어이며, 무료로 사용할 수 있습니다. 텍스트 기반의 프로그래밍 언어가 아니라 순서도를 그려서 프로그램을 실행할 수 있습니다. 또한 Flowgorithm으로 작성된 순서도를 18개 이상의 언어로 변환할 수 있습니다. 여기에는 C#, C++, Java, JavaScript, Lua, Perl, Python, Ruby, Swift, Visual Basic .NET 및 VBA(Office에서 사용됨)가 포함됩니다. 아래 링크를 통해서 다운로드하고 설치할 수 있습니다. http://www.flowgorithm.org/download/index.html Flowgorithm - Download www.flowgorithm.org 간단한 사용법 1. [..

(파이썬) 가위바위보 게임: 컴퓨터와 사용자 입력

사용자는 키보드 입력, 컴퓨터는 랜덤하게 가위, 바위, 보를 선택해서 승자를 판단하는 가위바위보 게임의 파이썬 코드입니다. import random print('가위바위보 게임을 시작합니다.') while True: # 사용자 선택 user = int(input("가위(0), 바위(1), 보(2): ")) # 컴퓨터의 선택 (랜덤하게) com = random.randint(0,2) # 선택 출력 print("사용자 선택:", user) print("컴퓨터 선택:", com) # 승부 결정 if user == com: print("무승부!") elif (user == 0 and com == 2) or \ (user == 1 and com == 0) or \ (user == 2 and com == 1): p..

Python 2023.10.22

(컴활) 컴퓨터활용능력 2024년 출제기준 변경 내용

2024년부터 2026년까지 적용될 컴퓨터활용능력 출제 기준 변경 내용입니다. 마이크로스프트 오피스 2021 버전으로 변경됨 (2023년까지는 2016버전) 2024년 2급 스프레드시트 함수: 변경된 내용 2024년부터 2급에서 삭제된 함수 FINDB, SEARCHB, RANK.AVG, 2024년부터 2급에 추가된 함수 IFS, SWITCH, MODE.SNGL, STDEV.S, VAR.S 더 자세한 내용은 아래의 첨부 파일 확인해 보십시오. https://license.korcham.net/ 대한상공회의소 자격평가사업단 license.korcham.net

반응형