일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- JSON
- Serialization
- 메모리구조
- buffer
- 윤성우의 열혈 자료구조
- s
- C 언어 코딩 도장
- stream
- Selection Sorting
- coding test
- 윤성우 열혈자료구조
- 알기쉬운 알고리즘
- datastructure
- 이스케이프 문자
- R
- Stack
- C programming
- list 컬렉션
- Algorithm
- 이것이 자바다
- Graph
- 혼자 공부하는 C언어
- insertion sort
- Today
- Total
목록Computer Science (80)
Engineering Note

선택정렬 기본적인 정렬 알고리즘 오름차순을 기준으로 설명하면 0번 인덱스부터 마지막 인덱스 에서 최소값을 찾아 0번 인덱스에 위치 시키고 다시 1번 인덱스부터 마지막 인덱스에서 최소값을 찾아 1번 인덱스에 위치시킨다. 위 과정을 반복한다. 문제 해결 과정 반복문을 통한 문제해결 선택 정렬의 핵심은 최소값을 찾는 알고리즘이다. 최소값을 찾는 Min(int list[],int fn, int ln)함수 구현 배열의 주소와 첫 구간인덱스 번호와 마지막 구간 인덱스 번호를 주면 첫 구간 다음 인덱스부터 마지막 인덱스 까지 비교하면서 최소 값을 찾도록 알고리즘을 구현했다. Sort(int list[], int size)함수 구현 배열의 주소와 사이즈를 매개변수로 주면 반복문으로 Min()함수에 첫구간 값을 변경하면..

관계대수 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적인 방법 관계 연산자 연산자 의미 Select 릴레이션에서 주어진 족너을 만족하는 튜플들을 선택하는 연산자 Project 테이블에서 특성 속성에 해당한느 열을 선택하는데 사용되며, 결과로는 릴레이션의 수직적 부분 집합에 해당하는 관계대수 연산자 Join 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산자 Division 나누어지는 릴레이션인 A는 릴레이션 B의 모든 튜플에 연관되어 있는 A의 튜플을 선택함 일반 집합 연산자 연산자 의미 합집합 합병 가능한 두 릴레이션 A 또는 B에 속하는 튜플들로 구성된 릴레이션 교집합 합병 가능한 두 릴레이션에 A와 B에 공통적으로 속하는 튜플..
SQL Structured Query Language는 1970년대 후반 IBM이 SEQUEL(Structured English Query Langguage)이라는 이름으로 개발한 관계형 데이터베이스 언어다. DBMS에게 원하는 내용을 비교적 쉽게 알려주고 결과를 얻는 데 사용하는 데이터베이스 전용 언어가 SQL이다. C, Java 같은 완전한 프로그래밍 언어는 아니다. 대신 데이터 부속어라고 하는데 그 이유는 데이터베이스의 데이터와 메타 데이터를 생성하고 처리하는 문법만 갖고 있기 때문이다. SQL은 DBMS에 직접 입력해 사용할 수 있고, 자바나 C로 작성된 클라이언트/서버 응용 프로그램에 삽입하여 사용할 수도 있다. 또 HTML 웹페이지 문서에 삽입할수 있고, 보고서나 데이터 추출 프로그램에서도 사..

Database 개념적 구조 1975년 ANSI(American National Standards Institute)에서는 데이터베이스를 개념적으로 이해하기 위해 데이터베이스 구조에 관한 안을 만들었다. 이 안은 데이터베이스를 보는 관점(view)을 세 개의 단계로 분리한 것으로, 3단계 데이터베이스 구조(3-layer database architecture)라고 한다. 3단게 데이터베이스 구조는 데이터베이스의 복잡한 구조를 단순화하여 표현한다. 3-layer database architecture 3단계 데이터베이스 구조는 그림[1-1]과 같이 외부 단계, 개념 단계, 내부 단계로 나눈다. 각 단계를 설명하는 데 사용되는 용어'스키마(schema)'는 그리스어에서 유래된 단어로 데이터베이스의 조직이나 ..
Data 데이터는 관찰의 결과로 나타난 정량적 혹은 정성적인 실제 값Information 정보는 데이터에 의미를 부여한 것을 말하며Knowledge 지식은 사물이나 현상에 대한 이해 Database DB는 DataBase의 약자로 파일시스템의 단점을 극복하기 위해 탄생했고, 데이터를 중복 없이 관리하고 응용프로그램의 종속되지 않고 한 조직에서 공용으로 사용하도록 통합한 데이터의 묶음입니다. DBMS는 DataBase Management System의 약자로 데이터베이스를 관리하는 시스템 SW입니다. 데이터베이스는 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것이다. integrated data 여러 곳에서 사용하던 데이터를 통합하여 하나로 저장한 데이터를 의미 ..
리스트 자료구조 리스트는 데이터를 순서대로 나열한(줄지어 늘어놓은) 자료구조 입니다. 이때 중복된 데이터를 허용합니다. 배열기반 선형리스트 같은 타입의 데이터를 연속된 메모리 공간에 저장하는 배열도 선형리스트로 구현이 가능하다. 장점 데이터 검색, 이동시에는 인덱스 값으로 접근이 가능하므로 -> '상수'시간 만큼 소요됨 단점 데이터의 삽입, 삭제에 따라 리스트에 정의에 따라 삽입, 삭제에 따라 데이터를 모두 옮겨야 하기 때문에 효율이 좋지 않습니다. 배열은 선언 이후에는 크기를 변경할 수 없기 때문에 최초 선언시 쌓이는 데이터의 크기를 알아야한다. 구조체와 포인터로 연결기반 선형리스트 배열 기반 선형리스트의 단점을 극복하기 위해 다음 노드를 가리키는 포인터를 각 노드에 포함시키는 연결리스트..
알고리즘 효율성 분석 시간의 효율성 공간의 효율성 코드의 효율성 시간의 효율성 주어진 조건에서 문제를 해결하기 위해 가능한 한 빠른 시간안에 가장 효율적으로 해결책을 찾는 것 시간복잡도 시간복잡도는 알고리즘에서 사용된 입력크기와 단위연산이 몇 번 수행되는지 함수로 표현 공간의 효율성 컴퓨터의 메모리를 얼마나 사용하는지에 따라 효율성을 결정 공간복잡도 코드의 효율성 개발자 입장 변수명과 주석 등 이해하기 쉽도록 작성되어 코드의 가독성이 좋고 유지보수가 용이하도록 모듈화를 잘해 놓은 코드 하드웨어 입장 컴퓨터와 하드웨어의 입장에서 작성된 코드 알고리즘 분석 방법 Every case analysis 입력크기에 종속 입력값과는 무관함 Worst case analysis 입력크기와 입력값 모두에 종속 단위연산이 ..

KOCW 알고리즘(명지대 이충기교수님) 알고리즘 문제 해결을 위한 단계적인 절차 알고리즘 작성법 인간의 자연어(한국어, 영어)로 작성 pseudo code(의사코드)로 작성 순서도로 작성 알고리즘에서 특정 문장의 수행 횟수를 계산하기 위해 필요한 3가지 식 1. 2. 3. 1번 식의 사용 사례 i가 1일 때 1번, 2일때 2번, 3일때 3번, 4일때 4번 수행 ... n일때 n번 수행 -> 총 (1+2+3+4+...+n) 번 수행