데이터 구조 및 분석 ch_3_3 Linked List I
Jul 16, 2021
»
writing
KAIST 산업및시스템공학과 문일철_ 데이터 구조 및 분석 수업을 참고하여 작성하였습니다
ch_3_3 Linked List I
Linked List I
1. Assignment and Equivalence
: One variable's value is changed
: == checks the equivalence of two referenced values
: is checks the equivalence of two referenced objects's IDs
2. Basic structure : singly linked list
: construct a singly linked list with nodes and reference
: A node consists of
- A variable to hold a reference to its next node
- A variable to hold a reference to ist value object
: Special nodes Heand and Tail
- You can construct the singly linked list without them
- But, using them makes serach, insert and delete more convenient
: Generally, requires more coding than array
3. Implementation of Node class
: Member variables
- variable to reference the next node
- variable to hold a value object
- variable to check whether it is a head or not
- variable to check whether it is a tail or not
: Member functions
- various set/get methods
class Node :
nodeNext = ''
objValue = ''
binHead = False
binTail = False
def __init__(self, objValue = '', nodeNext = '',binHead = False, binTail = False):
self.nodeNext = nodeNext
self.objValue = objValue
self.binHead = binHead
self.binTail = binTail
def getValue(self):
return self.objValue
def setValue(self, objValue):
self.objValue = objValue
def getNext(self):
return self.nodeNext
def setNext(self, nodeNext):
self.nodeNext = nodeNext
def isHead(self):
return self.binHead
def isTail(self):
return self.binTail
node1 = Node(objValue='a')
nodeTail = Node(binTail = True)
nodeHead = Node(binHead = True, nodeNext = node1)