자료구조
-
python 자료구조 TIL (Stack, Queue)자료구조 2022. 11. 25. 16:44
오늘 실시간 강의는 스택과 큐, 그리고 정렬알고리즘이었따. 이 포스팅은 아래의 링크드리스트를 기반으로 스택과 큐를 구현하는 TIL! ↓↓ 이전글 링크에 있는 링크드리스트가 반드시 필요하다 2022.11.25 - [자료구조] - 알고리즘용 LinkedList Stack 스택 스택은 LIFO (Last In First Out), 후입선출 방식의 리스트다. 가장 마지막에 넣은걸 제일 먼저 빼는 방식. 그냥 쌓고 꺼내고 쌓고 꺼내고. 쌓을떈 push(), 꺼낼땐 pop() LIFO를 비유 할 때 편의점 진열대에 물건을 넣고 빼는 것에 비유하는 경우가 있는데.. 선입선출 안하면 혼나거든요!!!!!!!! 기본적으로 라이브러리에 이미 만들어진 스택과 큐가 존재하긴 하지만, 코테를 대비해서든, 와타시의 논리력을 위해서..
-
python 알고리즘용 LinkedList자료구조 2022. 11. 25. 16:17
강의를 들었던 내용을 기반으로 이전에 간단하게 링크드리스트를 만들었었는데, 그 리스트는 단방향이라 노드 삭제하는 메소드를 만들기도 번거롭고, 알고리즘에 사용하기에도 부적합해서 양방향으로 다시 링크드리스트를 만들었다. 전체 코드 class Node(): def __init__(self, data=None): self.next = None self.prev = None # .prev 추가로 각 노드를 이전 노드와도 연결 self.data = data class List(): head = None tail = None # tail 노드 추가로 head와 tail을 각각 관리 def __init__(self, data=None): # 생성자가 실행될 때 head와 tail이 동일한 노드를 가리킴 self.hea..
-
python 자료구조 TIL (LinkedList)자료구조 2022. 11. 24. 22:00
오늘 실시간 강의에서 링크드리스트를 들었다! 참 지긋지긋하게도 여러번 들었던 링크드리스트.. 학부생때는 C로 들었고, 독학할때는 java로 들었고, 내배캠에서는 python으로 듣게되었다 링크드리스트.. 이젠 진짜 익숙해진것같다 LinkedList 우선 기본적으로 두 개의 클래스를 선언해야 한다. class Node(): def __init__(self, data=None, data2=None): # 기본값 설정해주지 않아도 List 클래스에서 했기 때문에 괜찮음 self.data = data self.data2 = data2 self.next = None class List(): head = None # 이 줄도 안써도 됨 def __init__(self, data=None, data2=None): s..