이 강좌에서는 자료구조를 이론적으로 배우고, 요즘 웹 프로그래밍에 자주 쓰이는 JAVA 라는 언어로 실제로 이들을 구현하는 방법에 대해서 다루게 될 것이다. JAVA는 오로지 클래스로만 이루어진 언어로써 C++ 보다는 더욱 완벽한 객체지향 언어라고들 말한다.
이런 클래스들을 이용하여 여러 메소드 들을 만들어보고, 또 자신이 만들은 클래스들을 구성하는 방법, 이를 정렬하는 방법들에 대해서 배우게 된다면, 어디서든 자신이 원하는 방법대로 많은양의 Data를 효율적으로 관리할 수가 있게 될 것이다.
처음 이런 웹에 강좌를 올리는 것이라서 설레임도 있고 ‘잘 못하면 어떡하지’ 하는 두려움도 있다. 하지만 이런 경험을 통해서 나 역시 한 단계 거듭 발전할 수 있는 계기가 될수 있으리라 본다. 독자만이 이득을 보는 강좌가 아닌 필자역시 많은것을 얻을수 있는 강좌가 되었으면 한다.
Data Structures & Other Objects Using JAVA
2. 전체 목차
1회 : Introduction
자료구조는 data, item 등을 정해진 기술로써 저장하고 관리하는 것이다. 실제로 어느 부분에 쓰이는지에 대해서 간단히 소개하는 내용으로 할 것이다.
2회 : Introduce JAVA
자바에 대한 간략한 소개를 할 것이다. 만들어진 배경, 만든사람, 활용 범위(?) 등등의 전반적인 내용을 다루게 될 것이다.
3회 : Class
자바는 오로지 클래스로만 이루어진 언어이다. 그러기에 클래스를 모른다면 자바를 배울수 없다는 것과도 같은 말이 될 수 있기 때문에, 클래스의 전체적인 틀과, 어떤일을 하고, 어떻게 쓰이는지, 그리고 String 같은 이미 API로 존재하는 클래스 같은 것들을 그림과 코드를 통해서 설명하게 될 것이다.
4회 : Array
많은 자료를 한번에 저장할수 있는 가장 단순한 방법인 배열에 대하여 설명할 것이다. 또 이를 트리로 구성하는 방법이나, array[] 클래스에 대해서도 설명을 하게 될 것이다.
5회 : Linked List
쉬우면서도 한번 꼬이면 정신이 혼미해지는 링크드 리스트. 포인터와 구조체의 동시 사용으로써 포인터를 확실히 이해하지 못했다면 힘들어지는 단계. 이 강좌에서 고생하지 않으려면 포인터 쪽을 중점적으로 해야 할 것이다. 실제 활용 범위와. 간단한 작성방법에 대해서 얘기 하게 될 것이다. (추가, 삭제, 치환, 검색 등의 함수구현 방법은 간단하게 Pseudo code 로만 설명하게 될 것이다.)
6회 : Stack
스택.. LIFO개념을 설명하며, 직접 포토샵 노가다로 최대한 이해가 쉽도록 설명해야 할 것이다. 이론 설명을 최대한 쉽게 한 후에. 이를 배열과 링크드 리스트로 구현하는 방법에 대해서 얘기 할 것이다.
7회 : Queue
큐 FIFO개념을 설명하고 이것 역시 위의 Stack 처럼 비슷한 강좌로 나가게 될 것이다.
8회 : Tree
트리. 이 다음에 나올 Hash 나 Sort 에 중요하게 쓰이는 단계로써 트리를 그림으로 보기쉽게 표현하고, 이를 직접 링크드 리스트로 구현하는 방법에 대해서 쓰게 될 것이다.
9회 : Recursion
재귀. 여러 알고리즘에 자주 쓰이는 개념으로써 잘못해서 꼬이게 되면 정신이 없어지는 부분이다. 그림으로 설명이 필요하다.
10회 : Search
배열과, 링크드 리스트를 이용한 구조에서 어떤 값을 찾기 위한 방법이다. 여러 가지 서칭 방법이 있으며 그에대해서 얘기하게 될 것이다.
11회 : Hashing
Hashing 은 각각의 리스트들을 검색하기 쉽게 어떤 일련 번호나 코드 같은것들을 붙여주는 기법이다. 이를 응용하면 검색 알고리즘을 더욱 효과적으로 짤수 있게 되므로 검색쪽과 연결지어서 얘기해야 할 것이다.
12회 : Sorting
정렬. 리스트를 이용한 정렬과 배열을 이용한 여러 가지 정렬 방법에 대해서 설명하게 될 것이다. 제일 쉬운 버블소트부터 고급 소팅 방법까지에 대해서 전반적으로 다루게 될 것이다.
13회 : B-Tree(1) (비 프러스 트리) (Heap 포함)
실제로 트리를 쓰게 되면 발생하는 한쪽 편중현상이라던지 하는 기현상이 발생하게 된다. 이런 트리를 더 효율적으로 구성해주는 것이 위의 B-Tree 인데 이에 대해서 얘기해본다.
14회 : B-Tree(2)
위 강좌의 연장선이 될 것이다.
15회 : Graph
그래프 역시 리스트로 관리되어야 할 것이다. 이런 그래프들을 구현하고, 그래프를 이용한 여러 가지 알고리즘에 대한 소개도 있어야 할 것이다.(ex) Shortest Path Algorithm)
'Programming > JAVA' 카테고리의 다른 글
[EKOO의 JAVA를 이용한 자료구조:6회] Queue (2) (0) | 2006.03.23 |
---|---|
[EKOO의 JAVA를 이용한 자료구조:5회] Stack (0) | 2006.03.23 |
[EKOO의 JAVA를 이용한 자료구조:2회] Class (2) (0) | 2006.03.23 |
[EKOO의 JAVA를 이용한 자료구조:2회] Class (3) (0) | 2006.03.23 |
[EKOO의 JAVA를 이용한 자료구조:3회] Array (1) (0) | 2006.03.23 |