반응형 자료구조4 [1주차 - Day2] 어서와! 자료구조와 알고리즘은 처음이지? (2) 스택 (Stacks) 스택은 마지막에 넣었던 것부터 넣은 순서의 역순으로 꺼내지는 자료 구조입니다. size(): 현재 스택에 들어 있는 데이터 원소의 수를 구합니다. isEmpty(): 현재 스택이 비어 있는지를 판단합니다. (size() == 0?) push(x): 데이터 원소 x를 스택에 추가합니다. pop(): 스택에 가장 나중에 저장된 데이터 원소를 제거합니다. (또한, 반환합니다) peek(): 스택에 가장 나중에 저장된 데이터 원소를 참조 (반환), 그러나 제거하지 않습니다. 큐 (Queues) 큐는 데이터 원소를 한 줄로 늘어 세우는 자료 구조입니다. 선형구조: 데이터 원소를 한 줄로 늘어 세우는 자료 구조 선입선출 (FIFO; first-in first-out): 어느 시점에서 큐에 들어.. 2023. 3. 14. 자료구조 복제 및 알고리즘(algorithm) 자료구조 복제 자료구조 복제(copy)란 객체의 주소를 복사하는 것을 의미합니다. 객체의 주소를 복사하는 방법에는 객체의 주소를 그대로 넘겨주는 얕은 복사와 객체의 내용만 넘겨주는 깊은 복사가 있습니다. '깊은 복사' 용어는 copy 모듈에서 제공하는 deepcopy() 함수에 의해서 붙여진 이름입니다. 실습 객체 주소 복사 # (1) 얕은 복사 : 주소 복사(내용, 주소 동일) name = ['홍길동', '이순신', '강감찬'] print('name address =', id(name)) name address = 139974885811776 name2 = name# 주소 복사 print('name2 address =', id(name2)) print(name) print(name2) name2 add.. 2023. 3. 3. 비순서 자료구조(None-Sequence Data Structure) 셋(set) set 클래스는 여러 개의 자료를 비 순서로 적재하는 가변 길이 비순차 자료구조를 생성하는 클래스입니다. (1) 셋 객체 특징 □ 비순서 자료구조를 갖는 열거형 객체를 생성할 수 있습니다. □ 다음 형식과 같이 중괄호({})안에 콤마(,)를 이용하여 원소를 구분합니다. 형식 변수 = {값1, 값2, .... 값n} □ 중복을 허용하지 않습니다. □ 순서가 없기 때문에 색인(index)을 사용할 수 없습니다. □ 객체에서 제공하는 함수를 이용하여 추가, 삭제 및 집합 연산 등이 가능합니다. 실습 셋 객체 예시 # (1) 중복 불가 s = {1, 3, 5, 3, 1} print(len(s)) print(s) 3 # (2) 요소 반복 for d in s: print(d, end=' ')# 1 3 .. 2023. 3. 2. 순서 자료구조 자료구조 프로그래밍에 의해서 만들어진 객체가 메모리에 배정될 때, 기억공간에 적재되는 구조 ■ 열거형 객체: 하나의 메모리 영역에 여러 개의 자료가 나열된 집합 자료구조 ■ 자료구조: 열거형 객체의 자료구조 형태가 순서를 갖고 있는 순서 자료구조와 순서가 없는 비순서 자료구조로 구분됩니다. 순서와 비순서의 차이점은 참조변수의 색인으로 접근할 수 있으면 순서, 색인을 이용할 수 없으면 비순서로 구분합니다. 순서 자료구조 str 문자열 객체를 만들어주는 클래스 실습 str 클래스 객체 예시 # (1) str 클래스 형식 str_var = str(object='string') print(str_var) print(type(str_var)) print(str_var[0]) print(str_var[-1]) st.. 2023. 3. 1. 이전 1 다음 반응형