본문 바로가기

알고리즘/자료구조_알고리즘16

[자료구조] 09. 그래프 - 개념과 표현방식 사담 공간 정말 오랜만에 블로그 포스팅을 한다... 학기 중엔 사실 시간이 너무 없기도 했고 ㅠㅠ 알고리즘 파트까지는 이번 방학 중에 끝내보자!! 알고리즘 파트부터는 다음 서적을 참고했다 https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844 2023. 1. 3.
[자료구조] 08. 트리 사담 공간 여태껏 배웠던 자료구조 중에 가장 어려운 파트다! 알고리즘도 그렇고 자료구조도 그렇고 비선형 다루는게 참 어렵더라.. 그래도 구현하다보면 나름 뿌듯함(?)을 느낄 수 있을 것이다 화이팅..!! 키워드 #트리 #이진트리 #이진트리탐색 #전위순회 #중위순회 #후위순회 #오일러순회 #레벨순회 1. 트리 개념 우선 자료구조 트리의 정의부터 알아보자. 트리는 계층적 관계를 표현하는 비선형 자료구조이자 그래프의 일종으로, 순환이 없는 연결 그래프이다. 정의가 굉장히... 길다. 하나씩 용어를 뜯어서 살펴보자. 계층적 관계(Hierarchical Relationship) 주로 피라미드형의 계단적 조직구조를 가리킨다. 기업의 조직도, 집안의 족보등이 그 예시가 된다. 출처 : http://news.heral.. 2022. 8. 29.
[자료구조] 07. 큐 (Queue) & 덱 (Dequeue) 사담 공간 스택과 비슷하면서도 다른 자료구조인 큐에 대해 알아보자 키워드 #큐 #선입선출 #FIFO #덱 1. 큐 개념 큐(Queue)는 먼저 집어넣은 데이터가 먼저 나오는 구조(FIFO)로 되어있다. 큐의 핵심개념인 "선입선출(FIFO)"에 대해서 알아보자. 이전 포스팅에서 다룬 스택의 개념을 복습하며 비교하면 더 좋을 듯하다! https://ll2ll.tistory.com/9 [자료구조] 06. 스택 사담 공간 드디어 고오급 자료구조에 입문하게 된다..!! 그래도 스택이랑 큐까지는 할만했던 것 같은데 트리부터가...허허 알고리즘 전까지는 최대한 개강 전에 끝내보자 ㅠㅠ 키워드 #스택 #후 ll2ll.tistory.com FIFO (First In First Out), 선입선출 역시 해석 그대로 "제일.. 2022. 8. 29.
[자료구조] 06. 스택 (Stack) 사담 공간 드디어 고오급 자료구조에 입문하게 된다..!! 그래도 스택이랑 큐까지는 할만했던 것 같은데 트리부터가...허허 알고리즘 전까지는 최대한 개강 전에 끝내보자 ㅠㅠ 키워드 #스택 #후입선출 #LIFO 1. 스택 개념 스택(Stack)은 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형구조(LIFO) 로 되어있다. 스택의 핵심이자 큐 같은 자료구조와 구별되는 가장 큰 차이점은 바로 이 "LIFO"라는 개념이다. LIFO (Last In First Out), 후입선출 영어와 한자 해석 그대로, "제일 마지막에 들어온 데이터가 제일 먼저 나간다" 라는 뜻이다. 사실 글로 읽기보다는 그림으로 보면 이해가 빠르다. 그림과 함께 보면 당연하게 느껴진다. 한쪽이 막혀있으니, 한쪽으로만 자료를 꺼낼 수 있고, 꺼낼.. 2022. 8. 25.
[자료구조] 05. 집합 포스팅을 시작하기 전에 저번 포스팅이 굉장히 오래 걸렸다.. (놀기도 열심히 놀았구) 구현/응용 부분은 나중에 추가적으로 보충해야지 키워드 #집합 #합집합 #교집합 #차집합 #부분집합 1. 집합 개념 집합 (set)은 특정한 조건에 맞는 별개의 원소들의 모임이다. 집합 A = {a,b,c} 가 존재할 때 $$a \in A$$ 와 같이 원소 a가 집합 A에 속해있음을 표현할 수 있고, $$d \notin A$$ 와 같이 원소 d가 집합 A에 속해있지 않음을 표현할 수 있다. 다음과 같은 두 개의 집합 A, B를 두고 개념을 설명하도록 하겠다. A = {a, b, d, e, f, g} B = {b, c, e, i} 합집합 (Union) $$ A \cup B = {x | x \in A or x \in B}$$.. 2022. 8. 25.
[자료구조] 04(2). 연결리스트 확장 및 응용 포스팅을 시작하기 전에 코드량이 늘어나면서 포스팅 시간이 늘어나고 있다 ㅜ.. 최대한 빨리 마쳐야지 키워드 #리스트구현 #그룹화 #공유 #원형연결리스트 1. 리스트 확장 grouping & sharing 그룹화 (grouping) 위에서는 모든 데이터원소들이 한 그룹에 속해있는 경우만 살펴봤다. (한 학생의 한 학기 과목 성적이라던지) 그렇다면 각 원소들이 다른 그룹에 속해있다면, 어떻게 구현해야 할까? 원래의 연결리스트 상태로 구현해도 괜찮을까? 헷갈리니까 예시를 들어보자. 대학의 강좌들 Prof. A : DS Prof. B : CS, DB Prof. C : none 다항식의 항들 Exp 1 : 3x^4 Exp 2 : 5x^3, -4 이렇듯 데이터가 다른 그룹에 속해있고, 그걸 구별해줘야하는 상황이라면.. 2022. 8. 20.