성장일기

내가 보려고 정리하는 공부기록

자료구조 15

[Data Structure] CHAP 4. Sparse Matrices(희소행렬) - C언어 ver.

학교 강의 2번째 강의자료 마지막 학습 키워드 Sparse Matrix이다. 그냥 matrix는 1학년 2학기 전산통계학시간에 배워서 알고 있었으나 sparse matrix는 생소했다. 이번 챕터에서는 ✅ Sparse Matrix란? ✅ Sparse Matrix의 ADT와 표기법 이 두가지를 학습할 예정이다. 1. Sparse Matrix Sparse는 사전적으로 '드문, 희박한'의 뜻을 가지고있다. 즉, 가치있는 값을 가지고 있는 항이 적은 매트릭스를 의미한다. matrix : 값이 숫자인 배열이 행과 열 형태로 이루어져있는 데이터구조의 종류이다. sparse matrix : matrix중에서 값이 0인 요소들이 많은 매트릭스를 의미한다. 값이 0인 요소가 많으면 메모리 낭비가 심해질 수밖에 없다. 6..

자료구조 2023.07.10

[Data Structure] CHAP 3. Polynomials (다항식) - C언어 ver.

지난 챕터 Arrays에 이어 이번 챕터에서는 Polynomials에 대한 내용을 기록하려 한다. 사실 앞의 내용들은 전부 익숙한 내용이었는데, polynomial은 처음 듣는 키워드라 걱정이 조금 됐었다. 그런데 막상 배워보니까 크게 어려운 개념은 아니라는 점!! 어쨋든 이번 챕터에서는 ✅ polynomial의 개념알기 ✅ polynomial을 ADT로 표현하기, ADT를 참고해 구현하기 를 해보려고 한다. 1. Polynomial이란? polynomial은 쉽게 간단히 말하면 다항식이다. 다항식을 이차원 배열의 형태로 표현하며, coef와 exp를 써준다. 이때, coef는 항의 계수이며 exp는 차수를 의미한다. 즉, Polynomial A = [[2,1000],[1,0]] 이라면 2Χ^1000 +..

자료구조 2023.07.07

[Data Structure] CHAP 2. Arrays (배열) - C언어 ver.

지난 챕터 linear list에 이어 이번 챕터에서는 배열에 대한 내용을 기록하려고 한다. ✅ 배열의 ADT ✅ 실행 함수(add, remove 등)에 따른 big-O() 차이 위 내용에 대해 정리하고, Structures and Unions에 대해 간단하게 정리하려고 한다. 1. 배열의 ADT 저번 list의 ADT와 마찬가지로 배열도 ADT로 나타낼 수 있다. 배열의 main method로는 get(int i) >> index i인 요소를 삭제하지 않고 값만 리턴 set(int i, obj o) >> index i인 요소의 값을 o로 대체하고 대체 전 값 리턴 add(int i, obj o) >> index i에 새로운 요소 o 추가 remove(int i) >> index i값 제거 후 index..

자료구조 2023.07.04

[Data Structure] CHAP 1. Linear Lists (선형리스트) - C언어 ver.

이번 챕터에서는 다양한 자료구조 중에서 Linear List에 대해 기록할 예정이다. Linear List에 대해 알려면 List가 무엇인지 먼저 알아야 하기 때문에 ✅ List란 무엇인가? ✅ Linear List란 무엇인가? 이상의 두 학습목표를 가지고 학습할 것이다. 1. List란? list는 일정 순서를 가지고 나열된 데이터를 의미한다. 리스트의 의미를 알았을 때 문득 리스트와 배열의 차이점이 무엇일까 하는 궁금증이 생겨서 간단하게 찾아봤다! 1-1. 배열과 리스트 결론적으로 정리를 하자면 배열의 단점을 개선하고, 배열의 특징인 인덱스의 개념을 없앤 것이 리스트라고 한다. 즉 둘은 독립적인 게 아니라는 거! 자바로 자료구조를 배웠을 때 교수님께서 list 표현방식 중 하나가 배열이라고 하셨다. ..

자료구조 2023.07.03

[Data Structure] CHAP 0. 자료구조 입문 & ADT

이번학기 자료구조론이 끝난 기념으로(?) 복습 겸 정리를 해보자..! 이번 챕터의 목표 ✅자료구조가 무엇인지 이해하기 ✅자료구조의 효율성을 판단하는 방법 알기 ✅Abstract Data Type(ADT)에 대해 이해하기 그럼 스타-투! 1. 자료구조 교수님께서 자료구조를 "데이터를 논리적으로 정리할 수 있는 방법과 효과적으로 데이터에 접근할 수 있는 기술을 제공해주는 자료들의 집합" 이라고 설명하셨다. 자료구조가 필요한 이유는 방대한 양의 데이터를 효율적으로 처리하기 위함이다. 자료구조를 듣고 놀랐던 건, 1년 내내 썼던 int, char등 자료형도 자료구조의 일부라는 것이었다. - Simple Data Type : 쪼갤 수 없는 것으로 전체가 하나를 나타내는 데에 다 사용되는 것 ex) integer,..

자료구조 2023.07.01
728x90