전체 글 75

데이터베이스 - access GUI

**Access GUI**는 데이터베이스 관리 시스템인 **Microsoft Access**에서 제공하는 **그래픽 사용자 인터페이스(GUI, Graphical User Interface)**를 의미합니다. Access는 사용자가 데이터베이스를 보다 직관적이고 시각적으로 관리할 수 있도록 설계된 도구입니다.### 주요 구성 요소:1. **탐색 창(Navigation Pane)**:   - 테이블, 쿼리, 폼, 보고서, 매크로 등의 데이터베이스 개체를 관리합니다.   - 데이터베이스 구조를 한눈에 볼 수 있습니다.2. **테이블(Table)**:   - 데이터를 저장하는 기본 구조입니다.   - GUI를 통해 데이터 입력 및 수정이 가능합니다.3. **쿼리(Query)**:   - 데이터를 검색하거나 조작..

카테고리 없음 2024.12.08

[자료구조] 그래프2

최단 경로 찾기(BFS)- 경로 : 인접한 정점들의 수열- 단순 경로 : 경로상의 정점들의 모두다른경우- 경로의 길이 : 경로상의 간선의 개수- 정점 V에서 W까지의 최단 경로의 길이는 V를 시작 정점으로 너비 우선 탐색(BFS)을 수행해서 W를 처음 방문할 때의 단계 수 최소비용신장트리(MST): 네트워크에 있는 모든 정점들을 가장 적은 비용으로 연결하는 신장트리 ( 도로건설, 전기 회로, 통신)대표알고리즘1. kriskal 알고리즘2. Prim의 알고리즘 탐욕적인 방법ㅗㅗㅠㅠㅜㅜㅎㅎㅋㅋ

자료구조 2024.12.08

[자료구조] 그래프

그래프 - 연결되어있는 객체간의 관계를 표현한 자료구조- 오일러 오일러 문제 : 모든 다리를 한번만 건너서 처음 출발했던 장소로 돌아오는 문제위치 : 정점(node), 다리 : 간선(edge)오일러 경로 : 정점에 연결된 간선의 개수가 짝수이면 존재용어그래프 G = (V , E) : 정점과 간선의 집합으로 구성된다- V : 정점들의 집합- E : 간선들의 집합  인접 정점 : 간선에 의해 연결된정점>> 그래프에서 두 정점 A와 B가 연결되어 간선 (A, B)가 있을 때, 두 정점 A와B 를 인접한다고 한다. 차수 : 그 정점에 인접한 정점의 개수  경로 : 간선으로 연결된 정점을 순서대로 나열한 리스트- 단순 경로 : 모두 다른 정점으로 구성된 경로- 사이클 : 단순 경로 중에서 경로의 시작 정점과 마지..

자료구조 2024.12.07

[데이터베이스] 처리기능 : Query(질의)

1. 정의(1) DML 선택(검색) 쿼리 : 원하는 데이터 검색Simple 쿼리Join 쿼리Group 쿼리 (통계값을 구하는 쿼리)기존 데이터 수정 {실행 쿼리} :추가 쿼리업데이트 쿼리삭제 쿼리 (2) DDL 테이블 구조 생성 쿼리>> 정의 쿼리 {실행 쿼리} (3) DCL 엑세스에는 지원하지 않는 쿼리 형식 2. 선택 쿼리의 개념엑세스에서 쿼리만들기 순서1st. 테이블 선택2nd. 필드에서 필요한 필드만 가져오기3rd. 필드에 필요한 조건설정 (예 : 유효성 검사 규칙 version : [장르] = "문학" 또는 "문학"만 써도 가능)4th. 실행 ( SQL문 생성) >> 쿼리 결과 생성 >> 테이블에서 필요한 필드를 검색한다는 의미는 테이블의 부분집합을 가져온다는 의미로 생각. 3. 검색쿼리의 개념..

카테고리 없음 2024.12.05

[자료구조] 우선순위큐 & 힙(heap)

우선순위 큐: 우선순위를 가진 항목들을 저장하는 큐FIFO 순서가 아니라 우선 순위가 높은 데이터가 먼저 나가게 된다. 자료구조삭제되는 요소스택가장 최근에 들어온 데이터 (LIFO)큐 가장 먼저 들어온 데이터 (FIFO)우선순위 큐가장 우선순위가 높은 데이터 우선순위 큐도 동일하게 insert 연산, delete 연산이 가장 중요한 연산이다.두가지로 구분이 되는데 1. 최소 우선순위 큐(가장 작은값 우선) 2. 최대 우선순위 큐(가장 큰값 우선) 우선순위큐 구현방법배열 이용연결리스트를 이용히프(heap)이용비교 표: 삽입과 삭제 연산의 시간 복잡도구현 방법삽입 시간 복잡도삭제 시간 복잡도순서 없는 배열O(1)   O(n)순서 없는 연결 리스트O(1) O(n) 정렬된 배열O(n) O(n)정렬된 연결 리스트..

자료구조 2024.12.02

[시스템프로그래밍] 컴파일과 런타임 스택

어셈블리 언어(.asm) "우리가 고급 언어로 프로그램을 만들면, 컴파일러가 이를 해석해서 어셈블리어로 만듭니다.이 어셈블리어는 또 다시 어셈블러를 통해 기계어로 번역됩니다." 라고 보통 설명하지만, 대부분의 경우에는 고급 언어 -> 중간 언어 -> 어셈블리어 = 기계어라고 보면 될 것 같습니다. 어셈블리어는 컴파일러마다 다르지만, 지금 듣는 수업 내용은 c언어로 설명하므로 앞으로 내용은 c언어를 기준으로 한다. C 프로그램이 컴파일이 되어 어셈블리어 명령어가 된 모습을 볼 수 있습니다. 다만 이때 중요한 건 Linker라는 특이한 애가 존재하고, 얘가 다른 라이브러리와 내가 만든 어셈블리어를 연결시켜 준다는 점이 중요합니다. 위에서 설명했다시피, 고급언어 -> 기계어는 굉장히 시간이 오래 걸리기 때문에..

[시스템프로그래밍] 컴파일러&인터프리터, 전처리기

[1] 컴파일러&인터프리터프로그래밍 언어의 구분1. low-level Langueages- 기계어 프로그램 > 실행 코드 or 목적 코드- CPU 종류마다 고유의 기계어가 존재 2. High-level Languages- 고급언어 프로그램> 소스코드- 인간의 자연언어와 유사하게 표현 > 이해도 ^- 프로그래머가 기계의 세부사항을 알 필요 x- c, c++, C#, java, basic, python, Lisp 등등 번역사용자가 작성하는 고급언어에서 컴퓨터가 이해할 수 있도록 기계어로 번역시킨다.방법1. 컴파일러: 전체 프로그램을 먼저 번역한 후 실행방법2. 인터프리터: 한 라인별로 번역한 후 바로 실행 컴파일 언어(c, c+, java)&소스코드 -> 컴파일러(전처리(preprocess)> 컴파일(Com..

[자료구조] 트리

용어정리- 서브 트리 : 하나의 노드와 그 노드들의 자손들로 이루어진 트리- 단말 노드 : 자식이 없는 노드( leaf node)라고도 불림- 비단말 노드 : 적어도 하나의 자식을 갖는 노드- 레벨 : 트리의 각층의 번호- 높이 : 트리의 최대 레벨 h- 차수 : 노드가 가지고 있는 자식 노드의 개수 이진 트리: 모든 노드의 차수가 2 이하가 되어 구현하기에 편리하다는 장점특징1. 노드의 개수가 n개이면 간선의 개수는 n-1개2. 높이가 h인 이진트리의 경우, 최소 h개의 노드, 최대 2h-1개의 노드를 갖는다.3. n개의 노드를 가지는 이진트리의 높이는 최대 n이거나 최소 ┌log₂(n+1)​┐-> 높이가 h일 때(노드의 개수 h) 최대 2^h-1개의 노드따라서 2^h = logn(n+1) 만약 h가 ..

자료구조 2024.11.27

덱 (deque)

### **1. `llink`와 `rlink`의 역할**- **`llink` (left link)**: 현재 노드의 **이전 노드**를 가리키는 포인터.- **`rlink` (right link)**: 현재 노드의 **다음 노드**를 가리키는 포인터.---### **2. 새 노드가 삽입될 때 해야 할 작업**`add_rear` 함수에서는 새 노드 `new_node`를 **덱의 끝에 추가**합니다.  즉, 새로 추가된 노드는 이전의 `tail` 노드와 연결되어야 합니다.#### (1) 기존 `tail`과 새 노드 연결- 새 노드는 이전 노드(`tail`)을 알고 있어야 하므로, **`new_node->llink`**에 기존의 `tail`을 저장합니다.- 동시에, 기존의 `tail`도 새 노드를 알아야 하므..

자료구조 2024.11.27

C# _ 반환값과 매개 변수

void형 메소드는 리턴하는 값이 없어서 retrun;문을 넣지 않아도 됨.retrun문은 값을 하나만 반환할 수 있음반환값이 여러개일 경우(*****) >> 배열에 반환할 값을 넣은 후 배열을 반환한다.소스8-18) 함수를 호출하면 배열에 랜덤하게 5~10개의 주사위 숫자를 넣어서 변환하는 프로그램(중요)namespace source08 {     internal class Program     {         static int[] DrawDice()         {             Random rnd = new Random();             int[] diceAry = new int[rnd.Next(5, 11)];             for (int i = 0; i        ..

카테고리 없음 2024.11.27