1. 알고리즘의 정의
- 알고리즘(Algorithm)은 주어진 문제를 해결하기 위한 절차로서, 정해진 입력에 정해진 출력이 나와야 하고. 무한히 반복되어서는 안 됩니다. 컴퓨터에서의 알고리즘은 주어진 문제를 단위 작업으로 나누고, 문제를 해결하기 위한 처리 순서를 정하는 과정이며 당연히 무한히 반복되어서는 안됩니다.
2. 알고리즘의 종류
가. 정렬(Sort) : 한줄로 모여 있는 데이터를 오름차순이나 내림차순으로 배치하는 방법
나. 검색(Search) : 데이터 중에서 원하는 것을 찾아내는 방법
다. 문자열 패턴 매칭(SPM : String Pattern Matching) : 주어진 문자열에서 지정한 문자열과 일치하는 부분을 찾아내는 방법
라. 계산(Calculation) : 수학이나 공학의 문제 해결을 위한 방법
3. 알고리즘의 기술 언어
- 알고리즘을 기술할 목적으로 만들어진 언어 중의 하나가 SPARKS(Structured Programming : A Reasonably Kimplete Set)이빈다. SPARKS는 선언문, 지정문, 반복문, Procedure문, 프로시져 사이 자료 전달 방법, 입출력문, 주석문으로 구성됩니다.
4. 자료구조의 정의
- 자료구조의 분류
가. 단순구조(Simple Structure)는 T/F, 정수, 실수, 문자 및 문자열과 같이 컴퓨터가 기본적으로 제공하는 자료형
나. 선형구조(Linear Structure)는 데이터들이 일렬로 쭉 저장되어 있는 형태
다. 비선형구조(Non-Linear Structure)는 데이터가 트리 형태로 저장되어 있다고 생가갛고 사용하는 자료구조
라. 파일구조(File Structure)는 다양한 자료구조의 데이터를 파일에 저장하는 방식
5. 리스트형 자료구조
- 연속적인 저장의 형태를 가지며, 두가지가 있다.
가. 배열 : 크기가 변하지 않는 리스트형 자료구조, 중간의 값을 지워도 빈칸으로 유지
나. 리스트 : 크기가 변하는 자료구조, 중간의 값을 지우면 뒤의 것이 앞으로 이동
- 자바 배열로 구현한 리스트형 자료구조
6. 연결 리스트 자료구조
가. 연결 리스트 : 저장된 각 데이터가 (데이터)+(다음 데이터의 포인터)로 이루어진 것으로, 한 방향으로만 탐색 가능한 구조
나. 더블 연결 리스트(Doubly Linked List) : 저장된 각 데이터가 (이전 데이터의 포인터) + (데이터) + (다음 데이터의 포인터)로 이루어진 것으로, 양방향 탐색 가능 구조
다. 환형 연결 리스트(Circular Linked List) : 더블 연결 리스트의 양끝이 연결 되어 있는 구조
- 파이썬으로 구현한 연결 리스트 자료구조
-> 결과
- 자바와 연결 리스트로 구현한 스택
- Link.java
- LinkList.java
- LinkListTest.java-> 결과
'WEB > 자료구조' 카테고리의 다른 글
2일차 정리(Arrays.binarySearch에 의한 이진 검색, 자연정렬) (0) | 2019.02.11 |
---|---|
1일차 정리(순서도, 클래스, 선형 검색, 이진검색) (0) | 2019.02.11 |
3일차 정리(스택 자료구조, 큐 자료구조, 데크 자료구조, 트리 자료구조, 이진 트리) (0) | 2019.02.10 |
2일차 정리(해쉬 테이블, 순서 리스트 자료구조, 배열 자료구조) (0) | 2019.02.08 |
공부할 책 소개 및 목차업로드 예정 (0) | 2019.02.07 |