본문 바로가기

분류 전체보기

(433)
우선순위 큐_피보나치 힙(Fibonacci Heap) 피보나치 하면 수열이 가장 먼저 떠오르는데 이 수열의 개념이 힙이 결합하는 과정과 유사하여피보나치 힙이라고 불린다. 피보나치 힙은 각 힙들을 doubly circular linked list 형태로 구성되는데피보나치 힙은 삽입의 과정을 거치면 이항 힙과 유사한 형태로 계속 같은 level의 min으로 추가 한다.추가하면서 계속 min을 체크함. * node * fb[MAX]의 노드포인터 배열을 선언하고그리고 최소 값을 반환하는 순간 모양이 재조정되는데, 최소값을 가진 heap의 루트가 반환되고, 해당 heap의자식노드들을 포인터로 기존 min level과 연결한다. * 그리고 가장 최근에 삽입한 heap의 내부노드 수를 판단하여해당 내부노드 수 값의 index에 해당 heap을 삽입한다. * 그리고 다음..
Chap 12. Construction Chap 12. Construction * Managing PR, Designing Test, Developing Documentation* Managing PR ( assign, coordinate activity, schedule)* schedule - 10 % 여유, slippage, creep, 위험* cultural issue ( 개인주의 - 집단주의 , monochronic - polychronic ) * Designing Test (unit - integration - system - acceptance)* V model (개발과의 관계 표시)* Test 명세서를 작성(목표)* Test 골격 - stub, driver, oracle* Unit Test(black box, white box)*..
Chap 8. Process Chap 8. ProcessProcesses and Programs Studying sh * process (동적) / program (정적)* kernel -> allocate program at memory* shell -> control process, run program * execvp(program name, arglist) -> run process* fork() -> 프로세스 하나 추가, wait(NULL) -> 대기하기* shell PR의 구조 - fork~execvp~wait
Chap 14. Threads : Concurrent Functions Chap 14. Threads : Concurrent Functions * Thread -> multiple concurrent function in one process * pthread_create( pthread_t, attr, function, argument )* pthread_join( pthread_t, return**)* pthread_mutex_lock, pthread_mutex_unlock -> 같은 변수 처리하기(전역변수) * 지역변수 나눠서 처리 후 add* process는 data 공간을 독립적으로 구성하여 갖고 있지만, thread는 data 공간을 공유한다.* process 당 thread는 1개 이상이 구성되어 동작된다.
Chap 13. Ethernet Chap 13. Ethernet * Ethernet, Token, ATM 중 유일하게 살아남은 유선 LAN* IEEE 802 project ( 여러 device 간 통신을 가능케 하는 프로젝트 ) - Datalink - llc/mac * Standard - fast - gigabit - 10 gigabit Ethernet * Standard Ethernet* 특징 - 비연결형, 비신뢰성* field ( preamble(도착), SFD(시작), DA, SA, type, data and padding, CRC )* 최소 프레임 크기 18 + (48~1500)* 주소 지정 방식 (uni(짝수), multi(홀수), broad) * 효율성 - 1/ 1+6.4*a(전파지연/전송지연) - 지연을 구하는 방식은 양o..
자료구조 프로그래밍 Lab09) Patricia 만들기 자료구조 프로그래밍 Lab09) Patricia 만들기 문제 해결 구현 알고리즘은 탐색 / 삽입 두가지로 나뉜다 탐색.0) t tree가 NULL 이면 탐색 실패1) tree의 nextNode에 lch를 가져오고 current node에 현재 트리 t를 가져온다2) bitNumber가 더 클 동안 계속 이동한다(bitNumber가 0이면 왼쪽, 값이 있으면 오른쪽 으로 이동)3) nextnode를 반환 삽입.0) t tree가 NULL이면 해당 노드에 값을 할당 후 종료1) tree를 search 해서 값이 똑같으면 삽입 실패(이미 존재하는 값)2) tree를 탐색하는 알고리즘을 통해서 탐색을 한 다음3) 새로운 노드를 할당한 후에, 현재 노드가 부모 노드의 lch라면 부모노드의 lch에 새노드 할당, ..
Chap 10. User Interface Design Chap 10. User Interface Design * System Interface(machine), User Interface(machine - user)* 6 principle - layout, contents awareness, aesthetics, user experience, consistency, minimum effort* Layout - area* Contents awareness - 어디있는지 계속 인지 할 수 있도록, 어떻게 도달하는지* Aesthetics - simple / density* User Experience - ease of learning, use* Consistency - Navbar * Minimum effort - 3 click * User interface D..
Chap 7. Event-Driven Programming (Chap 6. signal - 동기/비동기, Signal(signum, SIG_IGN or SIG_DFL or function))\ Chap 7. Event-Driven Programming * Lcurses * sleep / alarm* Time - real / virtual(user) / profile(user+kennel)* struct Itimerval - value, interval -> 반복 알람* setitimer(time kind, itimerval, old itimerval)* multi signal * sigaction - struct sigaction.sa_handler - 함수 , sa_flag - 옵션, sa_mask * sigset_t - emptyset, addset -> s..