Programming
-
이중 연결 리스트 - python3Programming/자료구조 2020. 3. 5. 03:35
이중 연결 리스트 이중 연결 리스트는 이전 노드를 가리키는 포인터, 다음 노드를 가리키는 포인터를 가지고 있다. 양방향으로 연결되어 있어 노드를 탐색하는데 있어 양쪽 모두 가능하다. 이중 연결 리스트 실습 - 노드 삽입 class Node: # 이전 노드를 가리키는 prev, 다음 노드를 가리키는 next def __init__ (self,data,prev=None,next=None): self.prev = prev self.data = data self.next = next class NodeModule: def __init__ (self,data): self.head=Node(data) self.tail = self.head def add(self,data): # node에 head가 없다면 if s..
-
단일 연결 리스트 - python3Programming/자료구조 2020. 2. 27. 17:27
연결 리스트(Linked List) 란 연결 리스트 == 링크드 리스트 각 노드가 데이터와 포인터를 가지고 연결되어 있는 구조 연결 리스트 연길 리스트에서는 노드와 포인터가 있다. 노드 : 데이터의 값과,포인터로 구성되어 있음 포인터 : 각각의 노드 안에서 다음 노드로 가거나 이전 노드와의 연결 정보를 가지고 있음 연결 리스트 특징 배열과는 다르게 크기가 고정되어 있지 않아 삽입/삭제가 용이하다. 탐색시 모든 노드를 처음부터 탐색하기 때문에 탐색시간이 길어질 수 있다. 데이터의 추가 삭제가 많을 경우에는 연결 리스트를 사용하는게 유리하고, 검색/정렬을 자주할 땐 배열이 유리하다. 중간 데이터를 삭제시에, 삭제한 노드의 전 노드와 앞 노드를 다시 연결해줘야하는 과정이 필요 연결 리스트 종류 단일 연결 리스..
-
Node.js Express 라우팅, 라우트 메소드 (GET,POST 요청 처리하기)Programming/NodeJS 2020. 2. 27. 15:03
라우팅 URI(경로) 및 특정한 HTTP(Hyper Text Transfet Protocol) 요청 메소드(GET,POST)의 클라이언트 요청에 응답하는 방법을 결정 각 라우트는 하나 이상의 핸들러 함수를 가질 수 있고, 라우트가 일치할 때 실행된다. 라우트 구조 GET, POST 방식의 method app.get( PATH(경로), HANDLER ) app.post( PATH(경로), HANDLER ) 여기서 app은 express 객체 METHOD에는 HTTP 요청 메소드로 GET, POST 방식이 있다 PATH는 해당하는 프로젝트 내의 서버 경로 HANDLER는 라우트가 일치할 때 발생하는 함수이다. 라우트의 사용 //GET 방식의 METHOD app.get('/', function (req, re..
-
Stack(스택) - python3Programming/자료구조 2020. 2. 26. 22:56
스택이란 데이터를 제한적으로 접근할 수 있는 구조 한 쪽에서만 데이터를 put(넣기), pop(빼기)할 수 있는 구조 가장 마지막에 들어온 데이터가 가장 먼저 나가는 구조 스택구조 스택은 LIFO(Last-In, First-out) , FILO(First-In, Last-out) 데이터 관리 방식을 이용 LIFO : 마지막에 넣은 데이터가 가장 먼저 나감 FILO : 처음 넣은 데이턱 가장 나중에 나감 주요기능 push() : 데이터를 스택에 삽입 pop() : 데이터를 스택에서 추출 스택의 장점과 단점 장점 구조가 단순, 구현이 쉽다. 데이터의 저장/읽기 속도가 빠름 단점 데이터 크기를 미리 지정해야한다. 위와 같은 이유로 인해 저장공간이 낭비가 발생할 수 있다. 파이썬 pop() 함수를 사용해서 스택..