프로그래밍 공부
자료구조 코딩 연습1
응_비
2021. 5. 22. 18:28
# 1차원 배열 리스트
fruit = [ "banana", "apple", "orange"]
print(fruit)
['banana', 'appple', 'orange']
# 2차원 배열 리스트
data = [["banana", "apple", "orange"], ["monkey", "fox", "dog"]]
print(data[0][2], data[1][1])
print(orange fox)
data = [[fruite, ["monkey", "fox", "dog"]]
print(data)
[['banana', 'apple', 'orange'], ['monkey', 'fox', 'dog']]
# Linkedlist 연결리스트 연습
Class LinkedList
def__inif__(self):
self.root = node()
def append(self, item):
newNode = Node(item)
curNode = self.root
if curNode.item == None:
self.root = newnode
else:
while curNode.link != None:
curNode = curNode.link
curNode.link = newNode
def insert(self, idx, item):
newNode = Node(item)
curnode = self.root
if idx == 0:
tmp = self.root
self.root = newNode
newNode.link = tmp
else:
for i in range(idx -1)
curNode = curNode.link
tmp = curNode.link
curNode.link = newNode
newNode.link = tmp
def delete(self, item):
preNode = curNode = self.root
if curNode.item = item:
self.root = curNode.link
else:
while curNode.link != None:
preNode = curNode
curNode = curNode.link
if curNode.item == item:
preNode.link = curNode.link
def print(self):
curNode = selfroot
print(CurNode.item)
while curnode.link != None:
curNode = curNode.link
curNode = curNode.link
print(curNode.item)
class Queue:
def __init__(self):
self.q = []
def isEmpty(self):
return len(self.q) == 0
def enQueue(self, item):
self.q.append(item)
def deQueue(self):
if self.isEmpty() == True:
return None
else:
return self.q.pop(0)
def peek(self):
return self.q[0]
class Stack:
def __init__(self):
self.s = []
def push(self, item):
self.s.append(item)
def pop(self):
if self.isEmpty() == False:
return self.s.pop(-1)
else:
return None
def peek(self):
if self.isEmpty() == False:
return self.s[-1]
else:
return None
class BinaryTree:
def __init__(self):
self.t = [None]
def append(self, item):
self.t.append(item)
def getChild(self, item):
if item in self.t:
k = self.t.index(item)
lidx = 2 * k
ridx = 2 * k + 1
if lidx <= self.size():
lnode = self.t[lidx]
else:
lnode = None
if ridx <= self.size():
rnode = self.t[ridx]
else:
rnode = None
return lnode, rnode
else:
print('item not found~')