본문 바로가기

전체 글108

[자료구조] 3장 Linked List 3-1 리스트 1. 리스트란 : 순서를 가진 항목들의 모임. 2. 리스트의 구조 : 선형의 자료구조(스택, 큐와 공통점). 임의의 위치에서도 삽입과 삭제가 가능함(스택, 큐와 차이점) 3. 리스트 ADT(추상 자료형) 데이터: 임의의 접근 방법을 제공하는 같은 타입 요소들의 순서 있는 모임 연산(9): ⊙ init(): 리스트 초기화. ⊙ insert(pos, item): pos 위치에 새로운 요소 item을 삽입. ⊙ delete(pos): pos 위치의 요소를 삭제. ⊙ get_entry(pos): pos 위치에 있는 요소 반환 ⊙ is_empty(): 리스트가 비어 있는지 검사 ⊙ is_full(): 리스트가 가득 차 있는지 검사. ⊙ find(item): 리스트 요소 item이 있는지 살핌. ⊙ .. 2023. 10. 15.
[자료구조] 2장 자료구조 소개 2-1 자료구조 1. 자료구조 : 컴퓨터에서 자료를 정리하고 조직화하는 다양한 구조 2. 추상화? : 어떤 시스템의 간략화 된 기술 또는 명세. 시스템의 핵심적인 구조나 동작에만 집중. 3. 자료형? : 데이터의 집합과 연산의 집합. 4. 추상 자료형(ADT: abstract data type) : 데이터 타입을 추상적으로 정의한 것. - 데이터나 연산이 무엇(what)인가를 정의. - 데이터나 연산을 어떻게(how) 구현할 것인지는 정의하지 않음 ▶ 추상 자료형을 프로그래밍 언어로 구현한 것이 자료구조!! - 추상 자료형의 데이터: 구조체 사용 - 추상 자료형의 연산: 함수 사용 2-2 알고리즘 1. 알고리즘 : 컴퓨터로 문제를 풀기위한 단계적인 절차. ▶ 알고리즘 + 자료구조 = 프로그램 2. 알고리.. 2023. 10. 15.
[소공] 객체지향 방법론과 UML 1. 객체지향 핵심 개념 1. 객체지향 관점 - 전통적인 관점: 프로그램 = 자료구조 + 알고리즘. 데이터와 프로시저가 독립적이라고 여김.(사실 x) - 객체지향 관점: 프로그램 = 객체 + 객체, 객체 = 자료구조 + 알고리즘, 2. 캡슐화(Encapsulation) : data와 operation을 캡슐화한다. - encapsulation이 중요한 이유: 특정 data와 operation은 의미적으로 연관되어, 이들을 묶어 생각해야함. 3. 정보은닉(Information Hiding) : 객체 지향 언어적 요소를 활용하여 객체에 대한 구체적인 정보를 노출시키지 않도록 하는 기법. - 장점(2): 객체에 대한 추상적인 관점을 제공. 다른 객체에 영향을 안 주고 알고리즘 을 수정할 수 있음. 4. 객체란.. 2023. 10. 13.
[데이터베이스] 2장 관계 데이터 모델과 제약 조건 0. 관계 데이터 모델 : 제안된 데이터 모델들 중 가장 개념이 단순한 데이터 모델. - IBM연구소의 E.F. Codd가 1970년 제안. - 관계 DBMS 시제품: System R(1970년대, IBM연구소) → Oracle로 나중에 시중에 등장 - 1980년대 후반 여러 데이터 모델들이 새로 등장했지만 관계 DBMS가 여전히 널리 사용됨. 1. 관계 데이터 모델이 큰 성공을 거둔 요인(7) 간단한 테이블을 사용 중첩된 복잡한 구조가 없음 집합 위주로 뎅터를 처리 초보 사용자도 쉽게 이해 표준 데이터베이스 응용에 대해 좋은 성능을 보임 다른 데이터 모델에 비해 이론이 잘 정립됨. 설계와 질의 처리면에서 뛰어난 장점을 가짐. 2-1 관계 데이터 모델의 개념 1. 관계 데이터 모델 개념(5) 동일한 구조.. 2023. 10. 12.
[소응] 3장 부호있는 네트워크 3-1 부호있는 네트워크와 구조적 밸런스 이론 1. Signed Networks : 양, 음의 관계를 가진 네트워크. 기본 단위는 부호있는 삼각형. 아래와 같이 directed, undirected로 나타 낼 수 있음. - 양의 관계: friendship, trust, positive sentiment, … - 음의 관계: enemy, distrust, negative sentiment, … 2. Theory of Structural Balance(구조적 밸런스 이론) - balanced: 내 친구의 친구는 친구이다. 적의 적도 친구이다. 적의 친구는 나의 적이다. → 음(-)의 개수가 짝수, 양의 개수가(+) 홀수면, balance ! - unbalanced: 나의 친구의칙구가 나와 음의 관계임. → .. 2023. 10. 11.
[데이터베이스] 1장 데이터베이스 시스템 (2) 1-4 DBMS 언어 1. 데이터 정의어(DDL: Data Definition Language) - : 데이터 베이스 스키마 정의. DDL이 입력되면 DBMS는 사용자가 정의한 스키마 명세를 시스템 카탈로그에 저장. - DDL의 기본 기능(4): 데이터 구조 생성(CREATE TABLE)/ 변경(ALTER TABLE)/ 삭제(DROP TABLE)/ 데이터 접근을 위해 특정 애트리뷰트 위에 인덱스 정의(CREATE INDEX) 2. 데이터 조작어(DML: Data Manipulation Language) : 데이터베이스 내의 원하는 데이터를 조작. - 종류(2): 절차적 언어(C, JAVA), 비절차적언어(SQL, 절차를 안 알려줘도 스스로 처리.) - 특징(2): SUM과 같은 내장 함수를 가짐./ 대화.. 2023. 10. 10.
[소공] 4장 요구 분석 0. 요구 분석 작업 단계(3) - 요구 추출: 고객의 요구를 찾아냄.(인터뷰, 설문) - 요구 분석 및 정의: 찾은 요구를 이해관계자와 합의할 수 있는 형태로 정의. - 요구 확인: 요구가 고객을 만족시키는지 확인하고 수정(프로토타입핑) 4-1 요구 1. 요구란? : 시스템에 대한 고객의 요청을 확정한 것. → 진정한 요구를 찾는 일: 프로젝트 성공의 필수 조건! 2. 제약 사항이란? : 시스템의 해결책 제한함. (특정한 프로그래밍 언어와 특정한 제품 사용 금지) → 요구와 차이점: 제약은 여러 가지 설계 구현 안을 줄임. 3. 요구의 분류(2) - 기능 요구: 고객이 요구하는 시스템이 처리할 기능(업무 절차나 기계 동작을 실현한 것.) → 특징: 동사로 표현/ 쉽게 파악/ 제품 기능/ 사용 사례로 정.. 2023. 10. 9.