시작하기에 앞서 이걸 왜 하고 있는가? 자바스크립트로만 구현해봤던 자료구조들을 C언어를 이용해서도 구현해보고 싶었다. 메모리단까지 까집어볼 수 있다면 왠지 간지날 것 같아서이다. 지금 하는 이 공부가 현재 내가 하고 있는 프론트엔드 개발에 직접적인 도움을 주지는 않겠지만, 개발에 필요한 사고의 폭과 넓이를 확장시켜줄 수 있지 않을까 생각한다. C를 공부하며 느낀 좋은 점은 절차적인 개발 능력이 향상되는 것 같은 느낌이 든다는 것(?)이다. 메모리의 지역변수와 스택을 고려해볼 수 있게 되었고, 힙에 동적으로 메모리 할당을 하고, 할당한 메모리를 해제해보면서 뭐랄까... 역시 그냥 돌아가는 것은 없구나. 라는 것을 새삼 체감하게 된다. 아무튼 아직도 배워가고 있다. 컴퓨터란 것을... 기초라는 것을... ...
사진출처 : https://ko.wikipedia.org/wiki/%EC%9D%B4%EC%A7%84_%ED%83%90%EC%83%89_%ED%8A%B8%EB%A6%AC 트리란 무엇인가? 트리는 부모, 자식 노드의 관계를 정의한 자료구조라고 볼 수 있다. 트리에 속한 노드는 부모-자식 관계에 따라 부모가 자식을 가르키는 방향으로 진행된다. 이 때 모든 노드는 루트 노드와 멀어지는 방식으로 연결된다. 이진 탐색 트리의 동작 모든 부모 노드가 최대 2개의 자식 노드(left, right)를 가진다. (모든 이진트리의 공통점) 왼쪽 자식 노드는 부모보다 항상 작고, 오른쪽 자식 노드는 부모보다 항상 크다. 이진 탐색 트리가 단순 이진 트리보다 빠른 이유 단순 이진 트리는 부모 노드가 최대 2개의 자식노드만 가진..
https://docs.python.org/3/tutorial/datastructures.html 5. Data Structures — Python 3.10.4 documentation 5. Data Structures This chapter describes some things you’ve learned about already in more detail, and adds some new things as well. 5.1. More on Lists The list data type has some more methods. Here are all of the methods of list objects: list.append(x) docs.python.org 리스트는 자료구조이다. 자료구조는 컴퓨터 내..