본문 바로가기

자료구조5

Chapter05 연결 리스트(Linked List) 3 2017/12/13 - [프로그래밍/자료구조] - Chapter04 연결 리스트(Linked List) 2 '양방향 연결 리스트(doubly linked list)' 또는 '이중 연결 리스트'라고 불리는 자료구조는 노드가 양쪽 방향으로 연결된 구조의 리스트이다. 양방향 연결 리스트의 선입견일반적인 선입견은 양방향 연결 리스트가 단방향 연결 리스트보다 그 구조가 복잡하고 구현이 쉽지 않는다는 것!하지만 이는 그림상의 오해! 실제로 코드가 덜 복잡하다! 나도 해당 부분은 어느정도 공감한다. 양방향 연결 리스트의 구현: 리스트의 초기화와 노드의 삽입양방향 연결 리스트의 초기화를 담당하는 ListInit 함수의 정의 typedef struct _dbLinkedList { Node *head; Node *cur;.. 2017. 12. 21.
Chapter04 연결 리스트(Linked List) 2 2017/12/08 - [프로그래밍/자료구조] - Chapter03 연결 리스트(Linked List) 1 Chapter03에서 배운 세 가지- 추상 자료형에 대한 이해- 리스트 자료구조의 특성과 활용- 리스트 자료구조의 배열 기반 구현 특성이 정적인 배열은 필요로 하는 메모리의 크기에 유연하게 대처하지 못한다. 그래서 등장한 것이 '동적인 메모리의 구성'이다. 2017. 12. 13.
Chapter03 연결 리스트(Linked List) 1 03-1 추상 자료형: Abstract Data Type 컴퓨터 공학에서의 추상 자료형(Abstract Data Type)추상 자료형! 간단히 ADT라고 불린다. 자료구조에서의 추상 자료형추상 자료형(ADT): 구체적인 기능의 완성과정을 언급하지 않고, 순수하게 기능이 무엇인지를 나열한 것연산의 종류를 결정하는 것도 자료형 정의의 일부로 보아야 하고, 이러한 연산의 종류가 결정되었을 때 자료형의 정의는 완성된다.'자료형'의 정의에 '기능' 혹은 '연산'과 관련된 내용을 명시할 수 있다는 것이다. 따라서 추상 자료형이라 하여 그것에 기능 혹은 연산과 관련된 내용을 명시할 수 없다는 생각을 버리기 바란다. 자료구조의 학습에 ADT의 정의를 포함합니다.학습순서리스트 자료구조의 ADT를 정의한다.ADT를 근거로.. 2017. 12. 8.
Chapter02 재귀(Recursion) 재귀 (Recursion)자료구조와 알고리즘에 있어서 매우 중요한 요소재귀함수는 자료구조나 알고리즘의 어려운 문제를 단순화하는데 사용되는 중요한 무기이다.재귀의 활용재귀함수는 이해하는 것도 중요하지만 잘 정의하는 것도 중요하다. 그리고 재귀함수를 잘 정의하기 위해서는 사고의 전환이 필요하다.피보나치 수열: Fibonacci Sequence 2017. 12. 5.
Chapter01 자료구조와 알고리즘의 이해 자료구조와 알고리즘자료구조: 데이터의 표현 및 저장방법알고리즘: 표현 및 저장된 데이터를 대상으로 하는 문제의 해결방법예)다음과 같은 배열 선언은 자료구조적 측면의 코드이다.int arr[10] = {1, 2, 3, 4, 5, 6, ,7, 8, 9, 10}반면 배열에 저장된 모든 값의 합을 더하는 다음 반복문의 구성은 알고리즘적 측면의 코드이다.for(i=0; i 2017. 11. 30.