자료구조 - 0. 오리엔테이션
2021. 9. 21. 09:34
방송대/자료구조
자료구조를 왜 배울까? 개발하는 개발자들이 편해진다. 알고리즘이 단순해질 수 있는 방법 → 자료구조를 배운다. 여러 명의 개발자가 붙어서 시스템 구축 등... 특히 PM들은 이러한 자료구조를 잘 알고 있을 필요가 있다. 예를 들어 배열에서 열 먼저 로딩한다든지... 열 먼저, 행 먼저 ⇒ 이런 부분에서 성능 차이가 날 수 있다. 똑같은 프로그램이어도 실행 속도를 향상시킬 수 있다. 자료구조와 알고리즘의 관계는? 자료구조가 개판이면 알고리즘을 잘 만들어 놔도 코드가 더러워질 수 있다. 모두 다 프로그램의 성능에 지대한 영향을 미치고, 잘 고민해서 전체 프로그램, 시스템, 패키지를 개발해야 한다. 프로그램 설계 시 훨씬 효율적이고, 비전공자들과의 차이점을 만들 수 있다. 자료구조의 공부 방법? 교재에 그림이..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgTIYZ%2FbtqJIL7EEOG%2FMrGZtV1FcV8eAZkKbxUQUk%2Fimg.png)
[자료구조] 더블 링크드 리스트(Doubly Linked List) (C++)
2020. 9. 29. 11:44
자료구조, 알고리즘
개념 링크드 리스트의 탐색 기능을 개선한 자료구조이다. 양방향으로 탐색이 가능하다. 코드 자체는 링크드 리스트와 크게 다른 게 없다. 삽입, 삭제 시 양방향인 것만 신경 쓰면 된다. template struct Node { T data;// 데이터 Node* prevNode;// 이전 노드를 가리키는 포인터 Node* nextNode;// 다음 노드를 가리키는 포인터 Node(T value) : data(value), prevNode(NULL), nextNode(NULL) {} }; template class DoublyLinkedList { Node* head; Node* tail; int size = 0; public: DoublyLinkedList() : head(NULL), tail(NULL) {..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FceMS0R%2FbtqI4UifOHq%2Fq0GsymHbYA7A6PfZY6tsx1%2Fimg.png)
[자료구조] 링크드 리스트(Singly Linked List) (C++)
2020. 9. 27. 00:44
자료구조, 알고리즘
개념 각 요소를 노드(Node)라고 부르며, 링크드 리스트는 '노드를 연결해서 만드는 리스트'라고 해서 붙여진 이름이다. 링크드 리스트의 노드는 데이터를 보관하는 필드와 다음 노드 주소를 가리키는 포인터로 이루어져 있다. 데이터가 늘어날 때마다 노드를 만들어서 테일에 붙이면 된다. 리스트 사이에 새로운 노드를 끼워 넣거나 제거하는 것도 간편하다. template struct Node { T data;// 데이터 Node* nextNode;// 다음 노드를 가리키는 포인터 Node(T value) : data(value), nextNode(NULL) {} }; template class LinkedList { Node* head; Node* tail; int size = 0; public: LinkedLi..