전체 글 365

[자료구조] 다양한 트리구조(균형 트리, N-항 트리)

다양한 트리 구조(균형 트리, N-항 트리)균형 트리(Balanced Tree)만약 BST에 다음과 같은 순서로 삽입한다고 생각해보자bst tree;tree.insert(10);tree.insert(9);tree.insert(11);tree.insert(8);tree.insert(7);tree.insert(6);tree.insert(5);tree.insert(4); 다음과 같은 구조를 갖는다전체 트리가 왼쪽으로 편향되어 있다이 경우 검색을 한다면 비교 횟수가 원소 개수와 거의 같아진다만약 다음과 같은 순서로 삽입하여 구성된 트리에서 검색을 한다면bst tree;tree.insert(7);tree.insert(5);tree.insert(9);tree.insert(4);tree.insert(6);tree.i..

[자료구조] 다양한 트리 구조(BST)

다양한 트리 구조(BST)평범한 이진 트리의 효용성은 그리 높지 않음BST, Balanced Tree 등에 대해 알아보자이진 검색 트리(BST, Binary Search Tree)널리 사용되는 형태의 이진 트리다음과 같은 속성이 있다.부모 노드의 값 >= 왼쪽 자식 노드의 값부모 노드의 값 즉, (왼쪽 노드 부모 노드보다 작거나 같은 모든 원소는 항상 왼쪽에 있다.부모 노드보다 크거나 같은 원소는 항상 오른쪽에 있다.완전 이진 트리(complete binary tree)이진트리에서 마지막 레벨을 제외한 모든 노드에 두개의 자식 노드가 있는 트리를 말함이 때 트리의 높이는 log_2(N)이 됨BST에서 원소 검색BST의 속성 때문에 원소 검색을 위해 루트 노드부터 차례대로 값을 비교하는 경우, 각 단계마다..

[자료구조] 비선형 문제

비선형 문제선형 자료 구조로 표현할 수 없는 대표적인 문제계층적 문제(hierachical problem)순환 종속성 문제(cyclic dependency)계층적 문제ex)회사 조직과 같은 조직 구성은 계층적으로 표현되지만, 선형 자료구조로 표현하기 어렵다선 이수 체계를 갖는 대학교 과정에 대한 종속 관계를 표현할 때에도 마찬가지다.트리를 이용하여 해결순환 종속성ex)SNS에서 사람들과의 친구관계 (그래프)도시와 도시를 잇는 도로망그래프를 이용하여 해결

[운영체제] 03. Process

Process Concept(프로세스 개념)운영 체제는 다양한 프로그램을 실행합니다.배치 시스템 - jobsTime-shared systems(시분할 시스템) - user programs 또는 tasks교재에서는 job과 process라는 용어를 번갈아가면서 사용할 거라고 하네요프로세스실행 중인 프로그램(a program in execution)프로세스는 다음을 포함합니다.프로그램 코드(code), 텍스트 섹션(text section)이라고도 함전역 변수 및 정적 변수를 포함하는 데이터 섹션(data section)임시 데이터를 포함하는 스택(stack)함수 매개변수, 반환 주소, 로컬 변수실행 중 동적으로 할당된 메모리를 포함하는 힙(heap)프로그램 카운터(program counter), 프로세서 레..

[운영체제] 02. Operating System Structures

운영체제 서비스 (Operating System Services)운영체제는 사용자에게 다음과 같은 서비스를 제공사용자 인터페이스(User Interface)명령어 인터페이스 (CLI), 그래픽 사용자 인터페이스 (GUI)프로그램 실행(Program execution)프로그램을 메모리에 로드, 실행, 종료I/O 작업(I/O operation)키보드/마우스 입력, 모니터/프린터 출력파일 시스템 조작(File system manipulation)파일 또는 디렉토리 읽기/쓰기, 생성/삭제/검색 등통신(Communications)프로세스 간 정보 교환오류 검출(Error detection)하드웨어 (메모리 오류, power failure)I/O 장치 (네트워크 연결 실패, 프린터 용지 부족)사용자 프로그램 (산술..

[운영체제] 01. Introduction to Operating System

운영체제 정의컴퓨터 시스템의 네 가지 구성 요소사용자 (Users)애플리케이션 (Applications) (워드 프로세서, 웹 브라우저, 게임, …)운영체제 (Operating System)하드웨어 (Hardware) (CPU, 메모리, I/O 장치)운영체제 정의운영체제 (Operating System)애플리케이션과 컴퓨터 하드웨어 사이의 중개자(intermediary) 역할을 함.컴퓨터 하드웨어 자원을 관리.애플리케이션을 위한 일부 서비스를 제공.사용자 관점 (User View)운영체제가 애플리케이션을 실행.운영체제가 컴퓨터 시스템을 사용하기 편리하게 만듦.시스템 관점 (System View)운영체제는 자원 할당자 (Resource Allocator).하드웨어 자원: CPU, 메모리, I/O 장치.소프..

[DataBase] 04. Intermediate SQL

Intermediate SQLSQL에 대한 지식을 확장복잡한 작업을 수행하는 강력한 쿼리를 가능하게 함Joined RelationsJoin 작업은 두 개의 relation을 가져와 결과로 또 다른 relation을 반환합니다.Join 작업은 카티션 곱으로, 두 relation의 튜플이 일치하는지 확인합니다 (일부 조건 하에).두 테이블의 공통 값을 사용하여 두 테이블의 열을 결합하는 데 사용됩니다.SQL 쿼리에서 테이블을 결합하는 데 Join 키워드를 사용합니다.Join 결과에 존재하는 attribute을 지정합니다.세 가지 유형의 Join:Natural joinInner joinOuter joinNatural Join in SQLNatural join은 동일한 attribute에 대해 동일한 값을 갖는..

[DataBase] 03. Introduction to SQL(2)

SQL에서의 집합 연산 (SET Operations in SQL)SQL은 테이블 데이터에 대해 수행될 수 있는 집합 연산을 지원합니다.이는 테이블에 저장된 데이터로부터 특별한 조건 하에 의미 있는 결과를 얻기 위해 사용됩니다.UNION (합집합)UNION ALLINTERSECT (교집합)INTERSECT ALLEXCEPT (차집합)EXCEPT ALL집합 연산 UNION (합집합), INTERSECT (교집합), EXCEPT (차집합)위의 각 연산은 자동으로 중복을 제거합니다.모든 중복을 유지하려면 다음을 사용하십시오:UNION ALL (모든 합집합)INTERSECT ALL (모든 교집합)EXCEPT ALL (모든 차집합)Union 연산 (Union operation)UNION은 두 개 이상의 SELECT..

[DataBase] 03. Introduction to SQL(1)

이 부분은 직접  테이블을 만들고 SQL 언어를 사용해보면서 익히는 것이 중요해요!SQL PartsDDL (데이터 정의 언어, Data Definition Language)DML (데이터 조작 언어, Data Manipulation Language)DCL (데이터 제어 언어, Data Control Language)TCL (트랜잭션 제어 언어, Transaction Control Language) SQL PartsDDLData definition language (DDL)은 데이터 구조, 특히 데이터베이스 스키마를 정의하기 위한 컴퓨터 프로그래밍 언어와 유사한 구문입니다.DDL 문은 데이터베이스 객체(테이블, 인덱스, 사용자 등)를 생성, 수정, 제거합니다.일반적인 DDL 문은 CREATE, ALTER,..

[DataBase] 02. Introduction to Relational Model

관계형 모델 (Relational Model)관계형 모델은 데이터베이스 관리에서 데이터 구조와 언어를 사용하여 데이터를 관리하는 접근 방식입니다.모든 데이터는 튜플(tuple) 형태로 표현되며, relation으로 그룹화됩니다.관계형 모델로 구성된 데이터베이스를 관계형 데이터베이스(relational database)라고 합니다.관계형 모델의 목적은 데이터를 명시하고 쿼리를 지정하는 선언적 방법을 제공하는 것입니다.사용자는 데이터베이스가 포함하는 정보와 원하는 정보를 직접 명시하며, 데이터베이스 관리 시스템 소프트웨어가 데이터를 저장하고 쿼리에 응답하기 위한 데이터 구조를 설명하는 과정을 담당합니다.modern DB(mySQL, ...)에서 사용되고 있다.관계형 데이터 모델 (Relational Data..