Algorithms
Algorithm이란 간단히 process들의 step으로 computer에게 우리가 원하는 동작을 명령하는 것이다.
Data Structures + Algorithms = Programs
위 수식에서 Algorithm은 Data structure를 이용해 특정 동작을 할 수 있게 해준다.
Trees
Parent Child 관계를 가진 데이터 구조로 Root Directory로 부터 내려간다.
Rules
모든 Parent node는 최대 2개의 child를 가질 수 있다.
Parent node보다 좌측의 node는 Parent보다 항상 작다.
Parent node보다 우측의 node는 Parent보다 항상 크다.
대표적인 예가 바로 윈도우의 파일 구조이다.
Doubly Linked List
Single Linked List와는 다르게 Pointer가 2개이다. 다음 Data를 가리키는 pointer, 그 전 Data를 가리키는 pointer가 그것이다.
pointer가 하나 더 있기 때문에 Memory가 2배로 소모되지만 더 flex하게 Data를 다룰 수 있다.(특히 앞에서만 시작했던 linked list와는 달리 뒤에서도 접근이 가능하다.)
웹페이지 forward, backward가 이것으로 구성되어 있다.
Regular Expression
정규 표현식 또는 정규식은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 지원하고 있으며, 특히 펄과 Tcl은 언어 자체에 강력한 정규 표현식을 구현하고 있다.
Stack and Queue
이 둘은 linear data structure로 모든 데이터의 접근과 동작을 순차적으로 해야 하는 특징이 있다.
stack은 선입후출(First In Last Out) Queue는 선입선출(First In First Out)이라는 특징이 있다.