본문 바로가기
반응형

Software/Data Structures10

[Python] 2장 연습문제 [수업출처] 숙명여자대학교 소프트웨어학부 유석종교수님 자료구조 수업 & [파이썬으로 배우는 자료구조 프로그래밍] * 수강생이 혼자 푼 답을 기록한 것으로 정답이 아닐 수 있습니다 😁 1. l = [21, 7, 40, 29, 11, 5, 90, 78, 64, 15, 88] max = 0 min = 1000 for i in range(len(l)): if l[i] > max: max = l[i] if l[i] < min: min = l[i] print((min, max)) (5, 90) 2. def mul(n, m): l = [] for i in range(1, n): if i % m == 0: l.append(i) return l print(mul(10, 3)) [3, 6, 9] 3. def gcd(a, .. 2022. 4. 16.
[Python] 2. Python Data Type [수업출처] 숙명여자대학교 소프트웨어학부 유석종 교수님 자료구조 수업 1. Python - Interpreter - 객체 지향 Object-oriented - 자료형 미리 선언하지 않음 Dynamic typing - Sequence, collection data type - 값 저장X, 참조 방식 Literal reference - 동적 할당 Dynamic allocation - 파이썬의 모든 변수 → 포인터 - 값에 대한 참조 변수 (값이 저장되어 있는 곳의 주소 참조) - a, b = b, a : swap 2. Data type 1) Immutable data type 불변자료형 - int, float, string - 값 변경 불가능 → 값 변경이 아니고 새로운 literal 참조하는 것 - 매개변.. 2022. 4. 16.
[Python] 1. Introduction [수업출처] 숙명여자대학교 소프트웨어학부 유석종 교수님 수업 '자료구조' 1. Data Structures - 문제 해결을 위한 대량의 데이터를 효율적으로 처리하고 조직하는 방법 또는 구조 - Linear DS: list, stack, queue, deque - Non-Linear DS: tree, graph - Advanced DS: BST, Weight networks - Searching and Sorting algorithms 2. Algorithm - 특정 작업을 수행하기 위한 명령어들의 유한한 집합 - 조건 - Input: 명시적 입력이 필요하지 않다. - Output: 적어도 하나의 출력값이 있어야 한다. - Definiteness: 구체적이고 모호하지 않은 명령어들의 집합이어야 한다. - .. 2022. 3. 8.
[자료구조] 탐색 수업 출처) 숙명여자대학교 소프트웨어학부 수업 "자료구조", 유석종 교수님 1. 탐색 - 다수의 레코드 집합에서 특정 키 값과 일치하는 레코드를 찾는 작업이다. - 레코드는 객체의 속성에 해당하는 필드들의 집합으로 표현된다. 2. 순차 탐색 - 정렬되지 않은 레코드들에 대해 조건에 맞는 목표 키를 찾을 때까지 순차적으로 비교를 반복하는 작업이다. - 정렬과 같은 요구 조건이 없어서 알고리즘은 단순하지만, 최상의 경우(1)와 최악의 경우(n) 탐색 성능에 큰 편차가 발생할 수 있다. - 레코드 수(n)가 클수록 탐색 시간이 많이 걸린다 - 순차 탐색 알고리즘의 평균 비교 횟수 : (n + 1) / 2 #include int seq_search(int num[], int key, int n); void ma.. 2021. 4. 20.
[자료구조] 연결 리스트 수업 출처) 숙명여자대학교 소프트웨어학부 수업 "자료구조", 유석종 교수님 1. 순서 리스트 - 원소들을 순서에 따라 배열한 리스트이다. - (ex) days of week, months of year, ... - C언어의 경우 같은 자료형으로 이루어져 있다. - Array 배열 - 선언한 뒤 원소의 개수를 바꿀 수 없다. -따라서 크기를 잘 설정하지 않으면 공간이 부족하거나 메모리 낭비가 발생할 수 있다. - 메모리에서 연속적으로 할당되며, 인덱스로 접근한다. - 중간에 원소를 추가하거나 제거하기도 어렵다. - Linked list 연결 리스트 - 메모리에 분산된 장소로 저장되어 있다. - 즉, 노드들이 메모리에 흩어져 있지만, 포인터로 연결되기 때문에 순서는 존재한다. - 크기 조절이 가능하다. - .. 2021. 4. 20.
[자료구조] 선형 자료구조 수업 출처) 숙명여자대학교 소프트웨어학부 수업 "자료구조", 유석종 교수님 1. 다차원 배열 - 2차원 이상의 배열을 다차원 배열이라고 한다. - 논리적으로는 m차원이지만, 물리적으로는 1차원으로 메모리 상에 표현됟나. - m차원 배열 A : int A[n₀][n₁] ··· [nₘ₋₁]; - 배열 A에 저장되는 원소의 총 개수 : n₀ x n₁ x ··· nₘ₋₁ 예를 들어 A[10][9][8]로 선언된 배열 원소의 총 개수는 10 x 9 x 8 = 720개이다. 1-1. 행 우선 순서 (Row-major order) - 기본 주소에서부터 행을 기준으로 원소가 저장된다. - 배열 원소의 오른쪽 차원의 인덱스가 먼저 증가되고, 상한 경계에 도달하면 바로 왼쪽 옆자리가 1씩 증가된다. - 이런식으로 인덱스 .. 2021. 4. 18.
반응형