본문 바로가기
728x90
반응형
SMALL

자료구조5

[자료구조] 덱, 이진탐색트리 1. 덱 스택과 큐의 기능을 모두 가진다. 포인터 변수가 더 많이 필요하기 때무에 메모리가 상대적으로 더 많이 필요하다. python에서 큐의 기능이 필요할때 덱 라이브러리 사용한다. 연결리스트로 덱 구현 앞, 뒤 두개의 포인터 구현 2. 이진탐색트리 트리 : 계층적인 구조를 표현할 때 사용하는 자료구조이다. 루트 노드 : 부모가 없는 최상위 노드 리프 노드 : 자식이 없는 노드 깊이 : 루트노드에서 가장 깊은 리프노드까지의 길이 이진 트리 : 최대 2개의 자식을 가질 수 있는 트리 이진 탐색 트리의 성질 : 왼쪽 자식 노드 오른쪽 자식으로 대체 오른쪽 자식이 없는 경우 -> 왼쪽 자식으로 대체 왼,오른쪽 자식.. 2023. 12. 21.
[자료구조] 스택, 큐 1. 스택 데이터가 쌓인 형태 먼저들어온 데이터가 나중에 나가는 구조 * 연결리스트로 구현하는 스택 Head 구현 원소 삽입시, 마지막 원소(Top)의 포인터에 저장된 위치에 원소를 삽입하고 Head 는 삽입된 원소의 위치로 변경한다. 원소 삭제시, Head를 그다음 원소가 저장된 위치로 변경한다. 2. 큐 먼저 삽입된 데이터가 먼저 추출되는 자료구조 * 연결리스트로 구현하는 큐 Tail과 Head 구현 원소 삽입시, 삽입된 원소의 위치가 Tail 원소 삭제시, Head에 저장된 데이터를 삭제하고 그다음 데이터의 위치를 Head에 저장 * 해당 글은 패스트 캠퍼스 강의 수강 내용을 정리한 글입니다. 2023. 12. 20.
[자료구조] 배열, 연결리스트 1. 배열 : 가장 기본적인 자료구조 : 여러개의 변수를 담는 공간 : 인덱스가 존재 : 컴퓨터에서 배열은 연속적으로 공간이 할당된다. : 데이터의 추가 및 삭제에 한계가 있다. 2. 연결리스트 : 각 노드가 한줄로 연결되어 있는 자료구조 : (데이터+포인터) 의 형태를 가진다. : 포인터는 다음 노드의 메모리 주소를 가르킨다. : 데이터 삽입, 삭제 할 때 시간 복잡도가 배열보다 낮다. O(1) * 해당 글은 패스트 캠퍼스 강의 수강 내용을 정리한 글입니다. 2023. 12. 14.
[자료구조] 자료구조 개요 1. 자료구조란? 다수의 자료를 담기 위한 구조이다. 데이터가 많아질수록 상황에 맞는 효율적인 자료구조가 필요하다. 2. 자료구조의 필요성? 다수의 데이터를 효율적으로 처리하여 불필요한 메모리와 계산시간을 낭비하지 않을 수 있다. 3. 자료구조의 종류 1) 선형구조 - 배열, 연결리스트, 스택, 큐 하나의 데이터 뒤에 다른 데이터가 하나 존재한다. 데이터가 일렬로 연속적으로(순차적으로) 연결되어 있다. 2) 비선형구조 - 트리, 그래프 하나의 데이터 뒤에 다른 데이터가 여러개 존재할 수 있다. 4. 프로그램 성능 측정 방법 시간복잡도 : 알고리즘에 사용되는 연산 횟수를 측정한다. 공간복잡도 : 알고리즘에 사용되는 메모리의 양을 측정한다. 공간을 많이 사용하는 대신 시간을 단축하는 방법이 흔히 사용된다. .. 2023. 12. 13.
2. 조건문 / 4. 함수 / 5.입출력 2. 조건문 파이썬 커뮤니티에서는 4개의 공백문자를 사용하는 것이 사실상의 표준이다. 4. 함수 함수 안에서 함수 밖의 변수 데이터를 변경해야하는 경우, global 키워드로 변수를 지정하면 함수 바깥에 선언된 변수를 바로 참조하게 된다. 람다 표현식을 이용하면 함수를 매우 간단하게 작성할 수 있으며, 정렬기준을 설정할 때에도 자주 사용된다. 5. 입출력 여러개의 데이터를 입력받을 때는 데이터가 공백으로 구분되는 경우가 많다. 입력받은 데이터를 띄어쓰기롤 구분하여 가각 정수 자료형의 데이터로 저장할 때에는 "list(map(int, input().split()))" 코드를 이용하면 된다. input()함수는 동작 속도가 느려서 파이썬의 sys 라이브러리에 정의되어 있는 sys.stdin.readline(.. 2023. 12. 8.
728x90
반응형
LIST