본문 바로가기

전체 글

(14)
200210_TIL (자료구조_Graph & Tree & Binary-Search-Tree) 으음.. 그래프 자료구조는 마치 거미줄 같다는 생각을 했다. 서로가 얽혀있는 관계를 잇다보면 2차원을 넘어 3차원의 자료구조가 생겨나지 않을까? 이 세 개념을 묶어놓은 이유가 뭘까 생각해보니, Graph 구조가 가장 큰 개념인것 같았다. Tree 구조는 그 하위에 집합을 이루는데, 특징은 hierarchy 의 구조로만 link 된다는 점이다. Binary-Search-Tree 구조는 그보다 더 협소한 Tree 구조의 하위 집합인데, 반드시 두개의 자식격의 Node 를 가지면 된다. Graph 그래프!! Tree property - Root : 최상위 노드 - child : 자식 노드 - parent : 부모 노드 - leaf : 최하단 노드, 자식이 없는 노드 - sibling : 형제 노드 method..
200207_TIL (자료구조_HashTable) 해쉬테이블... 전혀 감을 못잡았다. 굳이 값이 정해져 있는데, 변환하여 인덱스 배열에 넣어서 찾는다...? 처음엔 적은 규모의 데이터를 생각해서 그랬는지 와닿지 않았다. 그래서 유투브라는 바다를 열심히 항해했더니 조금은 이해할 수 있었던 것 같다. 다만, 아쉬웠던건 collision 이라는 문제점에 대해서 내가 먼저 생각해볼 수 없었던 것... 다들 해결책까지 말해줘서... 하하.. HashTable HashTable 이 가져야하는 속성값은 다음과 같다. - Hash function : 주어진 값을 특정한 값으로 변환하는 익명의 함수 - Hash Table : Hash function 의 결과값을 인덱스로 받고, 주어진 값을 요소로 받는 표? -
200207_TIL (자료구조_Linked-List) CS (Computer Science) 에서의 다양한 자료구조에 대해서 학습하는 스프린트를 진행중이다. 비전공자여서 자료구조가 뭔지.. CS가 뭔지도 몰랐어서 접근하는데 한참을 헤맨거 같다. 이번 스프린트를 통해서 객체지향 프로그래밍이 뭔지, 함수형 프로그래밍이 뭔지 조금은 감을 잡은 것 같다. 또한, 프로토타입 기반의 객체지향 프로그래밍 언어인 자바스크립트의 특성에 대한 이해가 조금은 되었다. Linked-List 이번에 알아볼 자료구조는 Linked-List 이다. 자료구조 중 Queue 와 유사한 개념이라고 생각했기 때문에 굳이 Linked-List 라는 자료구조를 만들어낸 이유를 체감하지 못했다. 필요의 이유? 타당성을 짚고 넘어가야 개운하다는 생각에 한참 헤맸던 것 같다. Linked-List ..