총 21개
-
건국대학교 객체지향프로그래밍_11주차_랩실습보고서2025.05.011. 배열 정렬 이 실습에서는 배열을 정렬하는 방법을 다룹니다. 먼저 CMyPoint 클래스를 정의하고, 이를 사용하여 배열을 생성하고 정렬합니다. 그리고 ArrayData 클래스를 정의하여 동적 배열을 구현하고, 이를 사용하여 배열을 정렬하는 방법을 학습합니다. 1. 배열 정렬 배열 정렬은 프로그래밍에서 매우 중요한 기술입니다. 배열 정렬을 통해 데이터를 효율적으로 관리하고 검색할 수 있습니다. 다양한 정렬 알고리즘이 존재하며, 각각의 알고리즘은 서로 다른 시간 복잡도와 공간 복잡도를 가지고 있습니다. 따라서 문제의 특성과 요구사...2025.05.01
-
방통대 방송대 알고리즘 1페이지 암기노트 핵심요약정리2025.01.251. 자료구조 및 알고리즘 자료구조, 알고리즘, 시간복잡도, 점화식, 분할정복, 이진탐색, 퀵정렬, 합병정렬, 선택문제, 동적프로그래밍, 피보나치수열, 연쇄행렬곱셈, 문자열편집거리, 최단경로, 저울문제, 동전거스름돈, 배낭문제, 최소신장트리, 작업스케줄링, 허프만코딩, 정렬알고리즘, 탐색알고리즘, 해싱, 근사알고리즘 등 다양한 알고리즘 개념과 기법들을 정리하고 있습니다. 1. 자료구조 및 알고리즘 자료구조와 알고리즘은 컴퓨터 과학의 핵심 분야로, 효율적인 프로그래밍과 문제 해결을 위해 매우 중요합니다. 자료구조는 데이터를 효과적으로...2025.01.25
-
자료구조(프로그램을 자료구조와 알고리즘으로 나누어 설명)2025.01.031. 자료구조 자료구조는 데이터를 어떠한 형태로 저장하고 관리할 것인지에 대한 방법으로, 자료를 어떤 효율적 방법으로 저장할 것인가를 의미합니다. 프로그램을 구성하는 핵심 요소 중 하나입니다. 2. 알고리즘 알고리즘은 저장된 데이터를 찾거나 변형하거나 수정할 때 필요한 방법으로, 문제를 해결하기 위한 절차를 의미합니다. 프로그램을 구성하는 또 다른 핵심 요소입니다. 1. 자료구조 자료구조는 프로그래밍에서 매우 중요한 개념입니다. 데이터를 효율적으로 저장하고 관리하는 방법을 제공하기 때문에 복잡한 문제를 해결하는 데 필수적입니다. 배...2025.01.03
-
C언어 단어 정렬 소스코드2025.04.271. C 프로그래밍 언어 C 프로그래밍 언어는 1970년대 초반에 개발된 범용 프로그래밍 언어로, 시스템 프로그래밍, 응용 프로그래밍, 임베디드 시스템 프로그래밍 등 다양한 분야에서 사용되고 있습니다. 이 프로그램은 C 언어를 사용하여 사용자가 입력한 단어들을 사전 순서대로 정렬하고, 전체 단어 수와 중복을 제외한 단어 수를 출력하는 기능을 구현하고 있습니다. 2. 문자열 처리 이 프로그램은 사용자가 입력한 문장을 공백 문자를 기준으로 단어를 분리하고, 분리된 단어들을 사전 순서대로 정렬하는 기능을 구현하고 있습니다. 이를 위해 C...2025.04.27
-
[건국대학교 컴퓨터프로그래밍2 A+][2024 Ver] 과제42025.01.201. 구조체 과제(4)에서는 구조체 rect를 정의하고, 이를 원소로 가지는 배열 shapes를 선언 및 초기화합니다. 이후 for문을 통해 shapes 배열의 각 원소에 대해 calc_area 함수를 실행하여 면적을 계산하고 출력합니다. 2. 포인터 2번 문제에서는 int형 변수 x, y의 값을 swap 함수를 통해 교환합니다. swap 함수는 int형 포인터 변수 px, py를 매개변수로 받아 간접 참조를 통해 값을 교환합니다. 3번 문제에서는 레퍼런스를 사용하여 동일한 기능을 구현합니다. 3. qsort 4번 문제에서는 qso...2025.01.20
-
[자료구조] 하나의 프로그램을 자료구조와 알고리즘으로 나누어 설명하시오2025.05.161. 자료구조 자료구조란 컴퓨터에서 자료를 정리하고 조직화하는 구조를 의미한다. 어떠한 자료를 정리할 때 자료에 따른 적절한 자료구조가 있다. 이 자료구조에는 그에 따른 알고리즘이 따라오기 마련이다. 2. 알고리즘 알고리즘이란 어떠한 문제를 해결하는 절차이다. 컴퓨터가 문제를 해결하는 방법을 장치가 이해할 수 있도록 언어로 정밀하게 기술한 것이다. 대부분의 컴퓨터 프로그램은 데이터를 처리하며 이들 자료는 자료구조를 사용해 표현하고 저장된다. 또한 여기에는 알고리즘이 필요하다. 3. 육면체 부피 계산 프로그램 width, length...2025.05.16
-
자료구조 1학기 중간시험2025.05.051. 1차원 정수배열 정렬 1차원 정수배열 x[10]을 0으로 초기화하고 내림차순으로 정렬하는 함수를 작성하고 메인프로그램을 완성하는 문제입니다. 함수의 첫 번째 매개변수는 배열의 주소이고, 두 번째 매개변수는 새로운 값입니다. 2. 구조체 배열 입력 struct student {char name[10], int student_number, char depart[10];}; 구조체를 정의하고, struct student stu[10]에 키보드에서 값을 넣는 함수를 작성하고 메인 프로그램을 완성하는 문제입니다. 3. 단순 연결리스트 ...2025.05.05
-
자연어처리 대표논문 읽기 과제2025.01.121. 신경 기계 번역 신경 기계 번역은 최근에 제안된 기계 번역 접근법으로, 기존의 통계 기계 번역과 달리 단일 신경망을 구축하여 번역 성능을 극대화하는 것을 목표로 합니다. 본 논문에서는 기존 신경 기계 번역 모델의 한계를 극복하기 위해 RNN 검색 모델을 제안하였고, 이를 통해 소스 문장의 관련 단어나 주석과 대상 단어를 올바르게 정렬할 수 있게 되었습니다. 실험 결과 제안된 모델이 기존 인코더-디코더 모델을 크게 능가하고 문장 길이에 더 견고한 것으로 나타났습니다. 2. 기계 번역 기계 번역은 소스 문장 x의 조건부 확률 p(...2025.01.12
-
분할 정복 알고리즘의 특징과 적용 사례2025.01.161. 분할 정복 알고리즘의 특징 분할 정복 알고리즘은 하향식 접근 방법으로 주어진 문제를 여러 하위 문제로 나누어 해결합니다. 이때 문제를 더 이상 나눌 수 없을 때까지 나누고 동일한 알고리즘을 적용하여 해를 계산하고 이 해를 원래 문제에 조합합니다. 크고 거대한 문제를 나누어 용이하게 풀어낸 다음, 다시 조합하여 해결하는 개념으로 볼 수 있습니다. 주로 자신을 호출하면서 해결하는 재귀적 구조를 가진 알고리즘에서 많이 사용되며, 문제를 독립적인 관계로 나누기 때문에 병렬적으로 문제를 해결하는 데 큰 강점이 있습니다. 2. 분할 정복...2025.01.16
-
분할 정복 알고리즘의 특징과 적용 시 주의사항2025.01.151. 분할 정복 알고리즘 분할 정복 알고리즘은 큰 문제를 작은 문제로 분할하여 각각을 해결하고, 그 결과를 이용해 전체 문제를 해결하는 알고리즘입니다. 이 알고리즘은 재귀적인 방법으로 구현되며, 대표적인 예로는 이진 탐색, 병합 정렬, 퀵 정렬 등이 있습니다. 분할 정복 알고리즘은 빠른 속도, 쉬운 병렬화, 유연성 등의 장점이 있지만, 추가적인 메모리 요구, 최악의 경우 시간 복잡도, 구현의 복잡성 등의 단점도 있습니다. 2. 분할 정복 알고리즘의 특징 분할 정복 알고리즘의 주요 특징은 다음과 같습니다. 첫째, 분할된 문제들은 크기...2025.01.15
