You are on page 1of 2

아마존 리뷰 관리 프로그램

circularDoublyLinkedList.py
class BidirectNode:
연결리스트의 노드
각각 노드의 key, value 저장
next, prev 는 다음,이전 노드 포인터

class CircularDoublyLinkedList :
연결리스트 구현
head,tail 은 각각 첫번째, 마지막 노드
def insert : CircularDoublyLinkedList
객체에 노드를 삽입하는 함수 구현
(링크드리스트가 비어있는 경우,
아닌경우로 나눔)

class CircularDoublyLinkedListIterator :
연결리스트를 처음부터 돌면서 self.iterPosition 변수에 현제 노드를 저장
만약 리스트의 끝에 도달하면 self.iterPosition 을 None 으로 바꾸고 StopIteration 예외를 발생시켜 멈춤

class CircularDoublyLinkedListFilter : __init__() 메서드로 연결리스트를 인자로 받아 초기화


Filter() 메서드는 find 인스턴스를 인자로 받아 finder.find 메서드가 True를 반환하는 노드만 찾아 리스트에
추가 후 반환
아마존 리뷰 관리 프로그램

reviewAnalysis.py

Class BasketballFilter,
Class Basketballstar5Filter :
.
각각 객체를 생성해서 제품 중에 basketball이 포함된 제품 리뷰와 제품중
def load_data() : 파일을 열고 한 줄씩 읽어서 data 리스트에 추가 평점이 5점인 리뷰를 필터링

def get_data() : CircularDoublyLinkedList 객체를 생성


Data 리스트의 요소를 BidirectNode 객체로 바꿔서 CircularDoublyLinkedList에 삽입
print() : 리뷰 전체 건수, 농구와 관련된 제품 리뷰 건수, 이 제품중 평점이 5점인 리뷰 건수
두가지 모두 해당되는 제품을 출력(농구, 평점 5점)

20201788 김세훈

You might also like