[자료구조] 14강 - 그래프(1)
·
🎓방송통신대학교/🔢자료구조
✅ 1. 개념 및 용어전기회로의 분석, 최단 거리 탐색, 프로젝트 계획, 스케줄링, 운송, 컴퓨터 네트워크 시뮬레이션 등에 사용된다(1) 그래프 - 정의그래프 G 는 하나 이상의 정점(노드)을 포함하는 집합 V 와 두 정점의 쌍으로 구성되는 간선을 포함하는 집합 E 의 순서쌍으로 정의함.그래프: G = (V, E) / [ V = 정점, E = 간선 ](2) 그래프 - 용어 정의[ 간선 ]두 정점을 연결하는 선을 의미하며, 두 정점 쌍으로 나타냄.무방향 그래프: 간선의 방향성이 없는 그래프 ( 실선 표현 ) / 두 정점 {v1, v2} 중괄호로 표현함.방향 그래프: 방향성이 있는 그래프 ( 화살표 표현 ) / 순서쌍 (v1, v2) 소괄호로 표현함.무방향의 경우 순서쌍이 없기 때문에 구분을 하지 않아 v1..
[자료구조] 13강 - 멀티웨이 탐색 트리(2)
·
🎓방송통신대학교/🔢자료구조
✅ 1. 2-3 트리[ 트리 분류 ]B트리: 멀티웨이 탐색트리로 이진 탐색 트리와 규칙을 동일하지만, 다른점은 2개의 노드 제한이 아닌 여러 노드를 가질 수 있으며, 해당 m원 멀티웨이 트리로부터 균형을 더한 트리임. 이진 탐색 트리의 AVL, BB, Splay 균형 트리와 비슷함.(1) 2-3 트리(2-3 tree)차수가 2 또는 3인 내부 노드를 갖는 탐색 트리를 의미한다.쉽게말해, 모든 노드가 2노드 또는 3노드로만 이루어진 균형 탐색 트리이며, 해당 구조는 모든 노드가 2개 또는 3개의 자식 노드를 가지는 트리임.2-노드 혹은 3-노드라는 제약이 내부 노드에만 해당함. 즉, 잎 노드의 경우 자식 노드가 없으므로 어차피 해당이 안됨.모든 잎 노드는 같은 레벨에 있어야 한다는 제약만 존재함.** 핵심..
[C언어] 구조체와 공용체(2)
·
🛠️Backend/⚙️C
✅ 1. 함수와 구조체(1) 구조체형 자료를 함수에 전달하는 2가지 방식값에 의한 자료 전달 방식과 참조에 의한 자료 전달 방식 두 가지로 나뉨.(2) 값에 의한 구조체형 자료 전달 방식구조체 자료를 함수에 전달하는 방식이며, 함수의 형식 매개변수는 구조체형으로 선언함.구조체 전체를 형식 매개변수에 복사함. 즉, 형식 매개변수는 실 매개변수의 복사본이며, 다른 주소값을 갖게 됨.구조체의 용량이 큰 경우 인수 전달이 비효율적일 수 있음.구조체 전체를 복사하므로 많은 시간을 소비하며, 구조체 복사본을 저장하기 위해 큰 기억공간을 사용하게 됨.#include struct num calc(struct num); // 함수 선언struct num { int x; int y; int sum; int mul;..
[C언어] 구조체와 공용체(1)
·
🛠️Backend/⚙️C
✅ 1. 구조체의 개념(1) 구조체(structure) 란?다수의 자료를 모아 새로운 자료형을 정의한 것을 의미함. ( 사용자 정의 자료형 )배열: 하나의 자료형으로 구성될 수 있는 여러 자료들의 묶음 자료구조이다.구조체: 각 자료가 여러가지 자료형으로 구성될 수 있는 이형 배열로 볼 수 있음.구조체를 구성하는 각각의 자료를 구조체의 '멤버' 라고 한다.각각의 멤버에는 명칭이 지정이 된다. ( 명칭(멤버 변수명) 을 이용하여 멤버를 액세스 함. )(2) 구조체(structure) 예시하나의 개체는 위와 같은 구조체로 만들 수 있음.✅ 2. 구조체의 정의와 구조체 변수 선언(1) 구조체 - 정의 형식구조체를 정의 할 때에는 위와 같은 struct 키워드와 구조체명을 정의하고 중괄호 안에 자료형과 멤버를 선..
[C언어] 배열과 포인터(3)
·
🛠️Backend/⚙️C
✅ 1. 포인터와 배열C 언어에서는 문자열을 변수에 저장하는 방법이 크게 문자 배열, 문자 포인터 두 가지 방식으로 나뉨.(1) 문자열과 포인터 - 문자 포인터 방식[ 문자 포인터 방식 ]문자 포인터 방식은 문자열을 문자열 상수로 저장을 한다.즉, 포인터가 가리키는 대상이 상수이므로, 해당 포인터를 이용해서 문자열의 내용을 수정할 수 없음.결과적으로 문자열 리터럴은 읽기 전용 메모리에 저장이 되는셈임.[ 문자 포인터 예시 ]포인터가 가리키는 곳은 문자열의 첫 번째 요소이며, 반복문과 포인터 연산을 통해 문자열을 출력 할 수 있음.(2) 문자열과 포인터 - 배열 방식문자형 배열을 만들면서, 리터럴 방식으로 문자열을 넣어서 배열을 초기화 할 수 있음.위와 같이 포인터 변수를 선언해 배열 변수를 넣게 되면, ..
[자료구조] 12강 - 멀티웨이 탐색 트리(1)
·
🎓방송통신대학교/🔢자료구조
✅ 1. 멀티웨이 탐색 트리 Mulit: 접두사로 '많은(many)', **'다수의(multiple)'**라는 의미를 가짐.way: '방향(direction)', '경로(path)', 또는 **'방식(mode)'**을 의미합니다.즉, Multiway는 글자 그대로 **"다수의 방식/방향"**을 의미하며, 자료구조에서는 하나의 노드가 2개(이진)를 초과하는 다수의 자식 노드나 분기 경로를 가질 수 있음을 표현합니다. 이 때문에 '다원(多元)' 또는 **'m-원(m-way)'**으로 번역되기도 함.즉, **멀티웨이 탐색 트리(m-way Search Tree, 다원 탐색 트리)**는 이진 탐색 트리(BST)의 탐색 규칙을 확장하여, 하나의 노드가 여러 개의 키를 저장하고 최대 m개의 자식 노드를 가질 수 있도..
[자료구조] 11강 - BST, Splay, AVL, BB
·
🎓방송통신대학교/🔢자료구조
✅ 1. 이진 탐색 트리(1) 이진 탐색 트리(BST) - 개념특정 데이터의 효과적인 검색을 위해 제한점을 가지는 이진 트리이다.특정 데이터의 검색과 노드의 삽입, 삭제 처리에 효과적인 이진 트리이다.BST: 트리를 구성할 때, 데이터의 탐색을 고려하여 구성(설계)하므로 탐색에 최적화된 이진 트리이다.키: 탐색, 삽입, 삭제 연산에서 비교의 대상이 되는 값이다.( 즉, 이진 트리 노드의 데이터를 대표하는 값, 혹은 노드를 특정할 수 있는 값 ex.주민등록번호 등 )(2) 이진 탐색 트리(BST) - 제한점 또는 특징모든 노드의 왼쪽 서브 트리에는 해당 노드보다 작은 값 오른쪽 서브 트리에는 큰 값이 들어가는 제한점을 가짐.(3) 이진 탐색 트리(BST) - 중위순회이진 탐색 트리에서 중위 순회를 하면 정..
[자료구조] 9강 - 힙
·
🎓방송통신대학교/🔢자료구조
✅ 1. 우선순위 큐(1) 큐FIFO(First In First Out) - 먼저 들어온 데이터가 먼저 삭제되는 자료 구조 ( 먼저 처리되는 데이터 )(2) 우선순위 큐위의 큐 구조에서 만약 중간의 데이터를 먼저 빼고 싶은 경우가 존재 할 때 사용되는 큐가 우선순위 큐임.즉, 우선순위가 높은 데이터가 먼저 처리가 되는 Queue 자료구조로 볼 수 있음.(3) 우선순위 큐 - 배열 구현위의 큐의 이미지는 배열 방식으로 구현 된 큐의 모습이다.먼저 데이터가 삽입이 되면, rear 포인터가 오른쪽으로 움직이면서 해당 위치에 데이터가 삽입이 된다.데이터를 꺼내는 작업(삭제 작업)을 하면 front 포인터가 한 칸씩 이동하면서 데이터를 꺼내면서 삭제하게 된다.배열에 우선순위 큐를 접목하게 되면, 위와 같이 특정 ..
[컴퓨터과학 개론] 15강 - 네트워크
·
🎓방송통신대학교/💻컴퓨터과학 개론
✅ 1. 컴퓨터 네트워크의 개요 및 발전 역사(1) 컴퓨터 네트워크의 개요데이터 통신을 위해 개발된 컴퓨터 네트워크는 게속적인 발전을 통해 서비스의 공유 및 컴퓨팅 자원의 공유를 위한 가장 효율적인 도구가 되었음컴퓨터 네트워크는 기본적으로 사람, 컴퓨터, 기타 장비들 간의 정보 교류를 위한 통신망임.(2) 컴퓨터 네트워크 서비스 역사[ 1960년대, ARPANet ]미국 국방 고등 연구 기획국(DARPA, Defense Advanced Research Project Agency)의 주도로 MIT를 중심으로 패킷 교환 네트워크로 현재의 인터넷이 시작이 됨.1960년대 초부터 기획이 사직되어 최초의 서비스가 1969년에 시작되었고, 1973년에는 현재 인터넷의 주요 프로토콜인 TCP/IP가 개발되어 ARPA..
[컴퓨터과학 개론] 14강 - 데이터베이스(2)
·
🎓방송통신대학교/💻컴퓨터과학 개론
✅ 1. 관계형 모델(1) 관계형 데이터 모델관계형 데이터 모델은 실세계 정보를 2차원 테이블("릴레이션") 형식으로 표현하고 구현한 것임.테이블을 이용하여 데이터와 데이터의 관계를 표현하며, 데이터베이스를 2차원 테이블의 집합으로 간주함.실제 데이터가 테이블 형태로 저장되는 것을 의미하지 않음. ( 논리적으로 표현하여, 직관적으로 이해하기 쉽게 표현 )즉, 논리적 표현에 불과하며, DB 내부에서는 테이블이 아닌 디스크 블록, 페이지, B+트리, 해시 구조 등으로 저장됨.(2) 관계형 모델과 관련된 용어릴레이션: 관계형 데이터 모델에서 테이블을 의미함.투플: 한 행을 의미함.카디널리티 (행의 총 합): 한 릴레이션(테이블) 행의 수를 의미함. ( 투플의 개수를 의미함 )차수(열의 총 합): 한 릴레이션(..