목록분류 전체보기 (339)
June is Combung
왜 컴퓨터 보안이 배우는가? • 정보는 전략적 자원 • IT 확산에는 자동화된/기술적, 물리적, 관리적 수단이 필요 • 둘 다 관련됨 – 컴퓨터에 저장되고 처리되는 정보 – 컴퓨터 간에 전송된 정보 • 보안에 대한 요구사항을 정의하고 요구사항을 충족하는 방법을 식별해야 함 컴퓨터 보안 • 보안(Security)은 정보 및 서비스의 도난, 변조 및 중단 가능성이 낮거나 허용 가능한 상태로 유지되는 정보 및 인프라의 웰빙 상태를 말한다. • 컴퓨터 보안은 컴퓨터 시스템의 자산이라고 불리는 중요한 항목의 보호이다. 주요 자산 유형은 다음과 같다: – 하드웨어 – 소프트웨어 – 데이터 보안 서비스(기능) • 기밀성(confidentially) - 정보 컨텐츠/액세스 보호 • 인증(authentication) -..

Overview • 많은 데이터 마이닝 상황에서 전체 데이터 세트를 미리 알지 못합니다. • 스트림 관리는 입력 속도가 외부에서 제어될 때 중요합니다. • Google 쿼리 • Twitter 또는 Facebook 상태 업데이트 • 데이터를 무한하고 비정상적이라고 생각할 수 있습니다(시간에 따라 분포가 변경됨). • 스트림 마이닝은 연속적인 데이터 스트림에서 지식이나 패턴을 발견하는 프로세스입니다. The Data Stream Model • 입력 요소는 하나 이상의 입력 포트(즉, 스트림)에서 빠른 속도로 입력됩니다. • 스트림 튜플의 요소를 호출합니다. • 시스템이 전체 스트림을 액세스 가능하게 저장할 수 없습니다. • 데이터가 메모리에 맞지 않습니다. • 디스크 저장 및 액세스 속도가 느림 Genera..

Maximal vs Closed Itemsets Frequent Itemset Generation 브루트 포스 접근법 • 격자의 각 항목 집합은 자주 사용되는 항목 집합 • 데이터베이스를 스캔하여 각 후보의 지지율을 계산 • 각 transaction을 모든 후보와 일치시킴 • Complexity O(NMW) ➔ Too Expensive since M = 2d !!! Frequent Itemset Generation Strategies Reduce the number of candidates (M) • Complete search: M=2d • 가지치기 기술을 사용하여 M을 줄임 Reduce the number of transactions (N) • itemset의 크기가 증가함에 따라 N의 크기를 줄..

Association Rule Discovery Frequent Itemset Mining - Market-basket model: • 목표: 충분히 많은 고객이 함께 구매하는 품목을 식별한다. • 접근 방식: 바코드 스캐너로 수집된 판매 데이터를 처리하여 품목 간 종속성을 찾는다. 슈퍼마켓, 통신 판매 회사, 온라인 상점 등의 고객의 쇼핑 행태에서 규칙성을 찾는 것을 목표로 한다. 흔히 발견되는 패턴은 다음과 같은 연관 규칙으로 표현된다. • 기저귀와 우유를 산다면 맥주를 살 가능성이 높다. • 만약 고객이 빵과 와인을 산다면, 그는 아마 치즈도 살 것이다. The Market-Basket Model 큰 세트의 물건들(e.g., 슈퍼마켓에서 파는 물건) 각 품목의 작은 세트(예: 한 명의 고객이 하루에..
#include #include #include #define TRUE 1 #define FALSE 0 typedef struct node { int data; struct node* left; // 왼쪽 자식노드의 주소 struct node* right; // 오른쪽 자식노드의 주소 }NODE; // AVL 트리 함수 int height(NODE* n); int balance_factor(NODE* tmp); void check_balance(NODE** p, int data); void rotate(NODE** p, int b_factor); NODE* root = NULL; NODE* init(int data) { NODE* tmp = (NODE*)malloc(sizeof(NODE)); if (tm..

#include #include // srand(), rand() #include // time() void setArrRandom(); void printArr(); void bubbleSort(); void mergeConquer(int l, int m, int r); #define MAX 10 int arr[MAX] = {0}; void setArrRandom(){ // 1 ~ 1000 srand(time(NULL)); int i; for(i = 0; i < MAX; ++i){ arr[i] = (rand() % 1000) + 1; // 1이상 ~ 1000미만의 랜덤 수 } } void printArr(){ int i; for(i = 0; i < MAX; ++i){ printf("%d ", arr[i..

* 트리노드의 삭제 1. 삭제할 노드 (target) 의 자식이 0, 1 개일 경우 -> target이 기록되었던 자리(부모노드 측, 혹은 root 변수)에 자신의 자식 혹은 NULL 을 기록 2. 삭제할 노드 (target) 의 자식이 2 개일 경우 -> 후계자 노드(heir)를 찾는다. (target과 가장 근사치의 값을 가진 노드) heir의 데이터를 target 의 데이터에 대입 heir를 삭제한다 (재귀) ** 후계자 : 왼쪽 자손 노드 중 가장 큰 수 오른쪽 자손 노드 중 가장 작은 수 #include #include #include /* - 모든 노드의 자식노드가 최대 2개까지인 트리 ==> 뻗을 수 있는 가지의 수가 2개까지..
// 이중연결리스트 #include #include #include typedef struct node{ int data; struct node* prev; struct node* next; } NODE; NODE* init(int data){ NODE* tmp = (NODE*)malloc(sizeof(NODE)); tmp->data = data; tmp->prev = NULL; tmp->next = NULL; return tmp; } void print_all(NODE* head){ NODE* tmp = head; while(tmp){ printf("%d ", tmp->data); tmp = tmp->next; } printf("\n"); } void print_all_reverse(NODE* tail..