전체 글 5

연결 리스트(Linked List)

연결 리스트란? 배열은 순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조이다. 연결된 리스트는 떨어진 곳에 존재하는 데이터를 화살표로 연결해서 관리하는 데이터 구조이다. C언어에서는 주요한 데이터 구조이지만, 파이썬에서는 리스트 타입이 연결 리스트의 기능을 모두 지원하다. 연결 리스트 기본 구조와 용어 노드(Node): 데이터 저장 단위 (데이터값, 포인터) 로 구성 포인터(pointer): 각 노드 안에서, 다음이나 이전의 노드와의 연결 정보를 가지고 있는 공간 연결 리스트 장단점 장점 미리 데이터 공간을 미리 할당하지 않아도 됨 배열은 미리 데이터 공간을 할당 해야 함 단점 연결을 위한 별도 데이터 공간이 필요하므로, 저장공간 효율이 높지 않음 연결 정보를 찾는 시간이 필요하므로 접근 속도가 느..

자료구조 2022.08.15

자주쓰는 Python 함수 및 라이브러리 정리

[ Join ] - ''.join(리스트) ex) ''.join(리스트)를 사용하면 리스트 ['1', '2', 'c'] 를 '12c'의 문자열로 합쳐 반환해준다. - '구분자'.join(리스트) '구분자'.join(리스트)를 사용하면 리스트의 값과 값 사이에 '구분자'에 들어온 구분자를 넣어서 하나의 문자열로 합쳐 반환해준다. ex) '+'.join(['1', '2', 'c']) 라 하면 "1+2+c" 와 같은 형태로 문자열을 만들어서 반환해 준다.

메모장 2022.08.14

큐(Queue)

큐란? · 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 · 줄을 서는 행위와 유사 · 음식점에서 가장 먼저 줄을 선 사라이 제일 먼저 음식점에 입장하는 것과 동일 · FIFO 또는 LILO방식으로 스택과 꺼내는 순서가 반대 https://ko.wikipedia.org/wiki/%ED%81%90_(%EC%9E%90%EB%A3%8C_%EA%B5%AC%EC%A1%B0) (출처) 큐 용어 ● Enqueue : 큐에 데이터를 넣는 기능 ● Dequeue : 큐에 데이터를 꺼내는 기능 파이썬 queue 라이브러리에서 다양한 큐를 제공 ● Queue(), LifoQueue(), PriorityQueue() 제공 ● Queue() : 가장 일반적인 큐 자료 ● LifoQueue() : 나중에 입력된 < 큐를..

자료구조 2022.08.14

배열(Array)

배열이란? ● 데이터를 나열하고, 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조 ● 파이썬에서는 리스트 타입이 배열기능을 제공하고 있음 출처 : http://www.tcpschool.com/c/c_array_oneDimensional 배열의 필요성 ● 같은 종류의 데이터를 효율적으로 관리하기 위해 사용 ● 같은 종류의 데이터를 순차적으로 저장 배열의 장점 - 빠른 접근 가능 배열의 단점 - 추가/삭제가 쉽지 않음 - 배열의 길이를 미리 설정해야함 파이썬으로 1차원 배열을 구현하는 예

자료구조 2022.08.14

자료구조의 시작

자료구조란? ● 용어 : 자료구조, 데이터 구조, data structure ● 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조를 의미 ● 코드상에서 효율적으로 데이터를 처리하기 위해, 데이터 특성에 따라, 체계적으로 데이터를 구조화해야함. 대표적인 자료구조 ● Array, Stack, Queue, Linked list, Hash Table, Heap 등 알고리즘이란? ● 용어 : 알고리즘, algorithm ● 어떤 문제를 풀기 위한 절차 혹은 방법 ● 어떤 문제에 대해, 특정한 입력을 넣으면 원하는 출력을 얻을 수 있도록 만드는 프로그래밍 자료구조와 알고리즘이 중요한 이유 ● 어떤 자료구조와 알고리즘을 쓰느냐에 따라, 성능이 천차만별이다. => 프로그래밍을 잘 할 수 있는 기술과 역량을 익히..

자료구조 2022.08.14