본문 바로가기
728x90
반응형

자료구조17

큐의 기본과 간단구현 1 큐의 개념 큐(Queue) 자료구조는 입구와 출구가 따로 있는 원통 형태다. 6장에서 배운 스택과 대비된다. 입구가 하나라 처음 들어간 것이 가장 마지막에 나오는 FILO 특징과 달리 FIFO(First In Last Out) 특징이다. 큐 구조에서 주의할 점은 들어갈땐 지정해서 들어갈 수 있지만, 나올땐 특정 사람을 선택할 수 없는 것이다. 나올 때는 항상 대기줄 출구에서 가장 가까운 사람이 나올 수 밖에 없는 구조다. 2 큐 원리 큐는 양쪽이 뚫려 있는 구조다. 한쪽에서는 삽입만 진행하고, 다른 쪽에서는 추출만 진행된다. 큐에서 데이터를 삽입하는 것을 enQueue, 추출하는 것을 deQueue라고 한다. 또 front(머리)와 rear(꼬리)가 있다. 데이터를 삽입할 때는 꼬리 바로 다음 위치에.. 2022. 11. 1.
연습문제와 응용문제 1  연습문제** 문제는 처음에 언급한 책에 나와있습니다 **답 :1.  4번2. top, push, pop3. (1) top += 1 (2) top -= 14. 2번5. 2번6. (1) return None (2) return stack[top]  2  응용예제 01헨젤과 그레텔이 돌을 떨어뜨리면서 숲으로 들어가는데 돌아갈때 반대로 돌을 주어오는 프로그램import random# 힘수 선언 부분 ##def isStackFull() : global SIZE, stack, top if (top >= SIZE - 1) : return True else : return Falsedef isStackEmpty() : global SIZE, stack, top .. 2022. 10. 20.
스택의 일반 구현과 응용 1 데이터 삽입 과정 스택에서 데이터를 삽입하는 함수를 만들어 손쉽게 삽입할 수 있다. 하지만 데이터를 삽입할 때 스택이 이미 꽉 찼는지 확인해야 하는데 스택이 다 찼다면 더는 삽입하지 말아야 한다. 스택이 꽉 찼는지 확인하는 방법은 top 값이 스택 크기 -1과 같다면 스택이 꽉 찬 상태이다. ## 스택이 꽉 찼는지 확인하는 함수 ## def isStackFull() : global SIZE, stack, top if (top >= SIZE - 1) : return True else : return False SIZE = 5 stack = ['커피', '녹차', '꿀물', '콜라', '환타'] top = 4 print("스택이 꽉 찼는지 여부 ==>", isStackFull()) 스택에 데이터를 삽입할.. 2022. 10. 20.
스택의 기본과 간단구현 1 스택의 개념 스택(Stack) 자료구조는 한쪽 끝이 막힌 형태이다. 입구 겸 출구를 공통으로 사용하는 모든 형태를 스택 예로 볼 수 있다. 스택의 가장 큰 특징은 FILO(First In Last Out)이라고 하거나 LIFO(Last In First Out)이다. 피로 보단 리포라고 많이 쓴다. 스택의 주의할 점은 넣을 때는 사용자가 원하는 순서로 넣을 수 있지만 빼낼 때는 특정 선택해서 빼낼 수 없다. 빼낼 떄는 항상 가장 위에 있는 것이 나오고 원하는 것을 빼려면 그것의 위치까지 하나하나 다 빼야 하는 것이다. 2 스택의 원리 아까 말했듯이 스택은 한 곳만 열려 있기에 삽입과 추출이 한곳에서 진행된다. 스택에 데이터를 삽입하는 작동을 push라고 하며, 반대로 추출하는 작동을 pop이라고 한다... 2022. 10. 20.
연습문제와 응용예제 1 연습문제 ** 문제는 처음에 언급한 책에 나와있습니다 ** 답 : 1. 3,4번 2. node1.link = node1 3. (1)node2 (2) node3 (3) node3 4. 2번 5. (1) current = head (2) last = last.link (3) last.link = head 6. (1) return current (2) current.link != head (3) current = current.link 2 응용예제 01 현재 위치를 (0,0)이라 가정하고, 편의점 위치(x,y)와 거리가 가까운 순서대로 원형 연결 리스트를 생성하는 프로그램 import random import math ## 클래스와 함수 선언 부분 ## class Node(): def __init__(se.. 2022. 10. 18.
728x90
반응형