일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이것이 자바다
- 윤성우 열혈자료구조
- stream
- Serialization
- Selection Sorting
- 메모리구조
- coding test
- list 컬렉션
- Algorithm
- 윤성우의 열혈 자료구조
- Graph
- 이스케이프 문자
- datastructure
- C programming
- JSON
- R
- 알기쉬운 알고리즘
- insertion sort
- 혼자 공부하는 C언어
- buffer
- C 언어 코딩 도장
- s
- Stack
- Today
- Total
목록Computer Science (80)
Engineering Note
분할정복 알고리즘 주어진 문제의 입력을 분할하여 문제를 히결하는 방식의 알고리즘이다. 분할된 입력에 대하여 동일한 알고리즘을 적용하여 해를 계산하며, 해를 취합하여 원래 문제의 해를 얻는다. 여기서 분할된 입력에 대한 문제를 부분문제라고 하고, 부분문제의 해를 부분해라고 한다. 부분 문제는 더 이상 분할할 수 없을 때까지 계속 분할한다. 가짜동전찾기 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 또는..
mia-dahae.tistory.com/105 Garbage Collection 알고리즘 종류 Garbage Collection 알고리즘 1. GC 알고리즘의 중요 목적 어떻게 불필요한 object들을 선별 하는 가 GC가 동작하는 동안 프로그램이 중단 되는 시간을 어떻게 줄 일 수 있는가 2. 불필요한 Object를 발견하 mia-dahae.tistory.com

삽입정렬 삽입정렬은 선택한 요소를 그 보다 더 앞쪽의 알맞은 위치에 '삽입하는' 작업을 반복하여 정렬하는 알고리즘이다. 선택정렬과 비슷하게 보일 수 있지만 단순 선택 정렬은 값이 작은 요소를 선택해 알맞은 위치로 옮긴다는 점이 다릅니다. 삽입정렬의 구체적 개념(오름차순 기준) 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교 하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘 이다. 이미 정렬된 배열 부분과 비교 하기 위해서 두번째 요소(1번 인덱스)부터 선택하여 첫번째 요소(0번 인덱스)와 비교하여 오름차순에 위배된다면 오름차순이 되도록 앞쪽에 삽입합니다. 위의 단계를 수행하기위해 두 번째 자료부터 시작하여 그 앞(왼쪽)의 자료들과 비교하여 삽입할 위치를 지정한 후..