| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 윤성우의 열혈 자료구조
- 알기쉬운 알고리즘
- datastructure
- 이것이 자바다
- insertion sort
- stream
- 메모리구조
- JSON
- list 컬렉션
- coding test
- Serialization
- Stack
- 혼자 공부하는 C언어
- 윤성우 열혈자료구조
- 이스케이프 문자
- buffer
- C programming
- Graph
- s
- R
- C 언어 코딩 도장
- Selection Sorting
- Algorithm
- Today
- Total
목록Computer Science (90)
Engineering Note
알고리즘 효율성 분석 시간의 효율성 공간의 효율성 코드의 효율성 시간의 효율성 주어진 조건에서 문제를 해결하기 위해 가능한 한 빠른 시간안에 가장 효율적으로 해결책을 찾는 것 시간복잡도 시간복잡도는 알고리즘에서 사용된 입력크기와 단위연산이 몇 번 수행되는지 함수로 표현 공간의 효율성 컴퓨터의 메모리를 얼마나 사용하는지에 따라 효율성을 결정 공간복잡도 코드의 효율성 개발자 입장 변수명과 주석 등 이해하기 쉽도록 작성되어 코드의 가독성이 좋고 유지보수가 용이하도록 모듈화를 잘해 놓은 코드 하드웨어 입장 컴퓨터와 하드웨어의 입장에서 작성된 코드 알고리즘 분석 방법 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) 번 수행
분할정복 알고리즘 주어진 문제의 입력을 분할하여 문제를 히결하는 방식의 알고리즘이다. 분할된 입력에 대하여 동일한 알고리즘을 적용하여 해를 계산하며, 해를 취합하여 원래 문제의 해를 얻는다. 여기서 분할된 입력에 대한 문제를 부분문제라고 하고, 부분문제의 해를 부분해라고 한다. 부분 문제는 더 이상 분할할 수 없을 때까지 계속 분할한다. 가짜동전찾기 1024개의 동전에서 하나의 가벼운 가짜 동전이 있을 때 하나를 기준으로 1023개를 비교해가며 가짜 동전을 찾을 수도 있고 2개씩 짝지어 n/2번회수로 가짜동전을 찾을 수도 있지만 분할정복기법을 적용하면 비교횟수를 줄일 수 있다. 512개씩 저울에 비교 가벼운 쪽을 다시 256개씩 비교, 가벼운쪽을 다시 128개씩, 64,32,16,8,4,2,1씩 비교해가..
covenant.tistory.com/219?category=773722 [개정판] 어떻게 운영체제를 공부할 것인가? (컴퓨터공학 운영체제 공부방법) 시작하며 제가 전공 신입생 시절 컴퓨터 공학을 어떻게 공부해야할지 검색을 하면 홍보성 학원 강의만 나왔습니다. 개발자가 되기 위해서 컴퓨터 공학의 기초 과목이 중요하다고 하는데 어떻게 covenant.tistory.com
퀵 정렬 퀵 정렬은 병합 정렬과 마찬가지로 '분할 정복(divide and conquer')에 근거하여 만들어진 정렬 방법이다. 정렬의 대상이 되는 배열에서 하나의 원소를 고른다. 이 원소를 pivot이라고 한다. 피벗을 기준으로 앞에는 피벗보다 작은 원소를 뒤에는 큰 원소들이 오도록 피벗을 기준으로 배열을 둘로 나눈다. 둘로 나누어진 배열에 대해서 재귀(recursion)적으로 반복한다. 배열의 원소의 개수가 1이 될때 까지 반복한다. 퀵 정렬 세부 동작 과정 left가 가리키는 값이 pivot이 가리키는 값보다 클 때까지 반복 pivot이 가리키는 값과 left가 가리키는 값을 비교하여 left가 가리키는 값이 작기 때문에 left 우측으로 한칸 이동, 4(pivot)와 3을 비교해서 ..
컴퓨터 시스템에서 하드웨어가 어떻게 동작하는지 프로그램들이 이러한 하드웨어 위에서 어떻게 돌아가는지 운영체제 수업에 앞서 컴퓨터 하드웨어적 동작 수업
시스템 소프트웨어 KOCW 이화여대 시스템소프트웨어(반효경) 5.0 유닉스 및 리눅스 소개 유닉스 및 리눅스 Unix 운영체제의 한 종류 다중 사용자 및 다중작업 지원 대화형(interactive)시스템, 시분할(Time-sharing)시스템 CPU, 메모리 등 자원(resource)의 공유 높은 이식성(고급언어인 C언어로 작성되었고, 하으웨어에 맞게 컴파일만 하면 됨) 소스코드 공개 프로그램 개발에 용이 다양한버전 System V, Free BSD, SunOS, Solaris LINUX 개발당시 UNIX는 서버급, MS-DOS는 개인용으로 개발되었음 LINUX PC를 비롯한 다양한 컴퓨터 환경에서 사용간ㅇ한 UNIx 운영체제 Linus Torvalds를 중심으로 Internet 상의 많은 개발자의 참여..
시스템 소프트웨어 KOCW 이화여대 시스템소프트웨어(반효경) 4. System Software & Program Execution - 고급언어, 컴파일러, 링커, 로더, 어셈블러, 라이브러리 학습내용 : 고급언어로 작성된 프로그램이 실행파일로 만들어져 실행 될 때 까지의 과정 Program Execuion 을 위한 System Software 컴파일러 : 고급언어 프로그램(source file)(시스템의 종류에 무관) -> 어셈블리 프로그램(시스템에 따라 다름) 어셈블러 : 어셈블리언어 프로그램(Ex. MIPS) -> 기계어 프로그램(object file) 링커 : 여러 object file 및 library file을 하나의 executable file로 만듦 로더 : executable file 또는..