Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

이중으로 연결된 목록

548 views

Published on

  • Be the first to comment

  • Be the first to like this

이중으로 연결된 목록

  1. 1. 이중으로 연결된 목록<br />아꿈싸<br />이재정<br />
  2. 2. 이중 링크드 리스트<br />RLINK(LLINK(X)) = LLINK(RLINK(X)) = X<br />두번째 것이 선호할만한 주된 이유다.<br />
  3. 3. 이중 링크드 리스트<br />
  4. 4. 노드 제거<br />RLINK(LLINK(X)) <- RLINK(X)<br />
  5. 5. 노드제거<br />LLINK(RLINK(X)) <- LLINK(X)<br />
  6. 6. 노드제거<br />AVAIL <= X<br />
  7. 7. 친구추가<br />
  8. 8. 친구추가<br />P<=AVAIL, LLINK(P) <- X<br />
  9. 9. 친구추가<br />RLINK(P) <- RLINK(X)<br />
  10. 10. 친구추가<br />LLINK(RLINK(X)) <- P<br />
  11. 11. 친구추가<br />LLINK(RLINK(X)) <- P<br />
  12. 12. 칼텍(Caltech)의 엘리베이터<br />
  13. 13. 엘리베이터 시뮬레이션<br />
  14. 14. 엘리베이터 변수<br />CALLUP[ j], 0 <= j <= 4<br />CALLDOWN[ j], 0 <= j <= 4<br />CALLCAR[ j], 0 <= j <= 4<br />FLOOR<br />STATE, {GOINGUP, GOINGDOWN, NEUTRAL}<br />ELEVATOR, 엘레베이터에 타고있는 이용자 스택<br />QUEUE[ j], 0 <= j <= 4, j층에서 기다리는 이용자 대기열<br />
  15. 15. 엘리베이터 변수<br />D1, 사람들이 승강기에 타고 내리는 동안이 아니면 0인 변수<br />D2, 승강기가 30초 이상 움직이지 않고 한 층에 머물러 있으면 0이 되는 변수<br />D3, 문이 열렸지만 아무도 타고 내리지 않는 동안이 아니면 0인 변수<br />
  16. 16. 이용자 변수<br />IN, 이용자가 시스템에 들어온 층<br />OUT, 이용자가 가고자 하는 층<br />GIVEUPTIME<br />INTERTIME<br />
  17. 17. 이용자 코루틴<br />U1(진입, 초기값설정) -> U2(신호대기, CALLUP/DOWN 설정 혹은 E3, E4로 넘어감) -> U3(대기열진입, QUEUE[IN]에 유저 삽입, 엘레베이터가 오면 E4에의해 U5로 넘어감) -> U4(대기, Giveup시간만큼 대기 QUEUE[IN]에서 제거) -> U5(타기, CALLCAR 설정) -> U6(내리기, ELEVATOR에서 제거)<br />
  18. 18. 엘리베이터 코루틴<br />E1, E2, E3, E4, E5, E6, E7, E8, E9<br />
  19. 19. 스케쥴링의 필요성<br />E4, E5, E9가 동시에 수행될 수 도 있다.<br />링크드 리스트를 이용해서 스케쥴링을 구현한다.<br />
  20. 20. 자료구조<br />
  21. 21. 끝<br />감사합니다. ^^;<br />

×