Giter Site home page Giter Site logo

self_study_algorithm's Introduction

Self_Study_Algorithm

감 잃지 않기 위한 나의 Toy Project...겸사겸사...시간 날때마다..

Focus --> 어떻게 하면 논.리.적이고 효.율.적으로 짜볼까?!
1. 주소록 toy project 프로젝트

  12.02 = 일반적인 스택 자료구조 + Binary파일을 Load & Save하는 모듈로 만들어 봄
  12.04 = CUI설계 + Arrange/ShowAll 할 시, 10개씩 출력하도록 설계
  12.20 = Heap을 이용한 동적배열 할당으로 설계헤봄 + Create & Destroy으로 동적배열 할당 및 해제
  01.04 = Binary파일을 Load & Save하는 모듈로 설계 + Heap을 이용한 CUI설계(동적배열 할당 및 해제)
  01.08 = MFC를 이용한 GUI프로그램(MSDN활용)
          특징: 닫기 클릭시 자동으로 bin파일 저장 + 찾기 클릭시 찾기에 대한 해당 윈도우 생성(FindingForm)
  01.23 = Array 라이브러리를 이용한 Heap 기반 동적할당 설계 및 테스트

AddressBook_GUI

2. 단어장 toy project 프로젝트

  2.1. 일반적인 스택 자료구조 + Binary파일을 Load & Save하는 모듈로 만들어 봄
  2.2. CUI설계 + Arrange/ShowAll 할 시, 10개씩 출력하도록 설계
  2.3. Heap을 이용한 동적배열 할당으로 설계헤봄 + Create & Destroy으로 동적배열 할당 및 해제
  2.4. Binary파일을 Load & Save하는 모듈로 설계 + Heap을 이용한 CUI설계(동적배열 할당 및 해제)
  2.5. MFC를 이용한 GUI프로그램(MSDN활용)
       특징: 닫기 클릭시 자동으로 bin파일 저장 + 찾기 클릭시 찾기에 대한 해당 윈도우 생성(FindingForm)

WordBook_GUI

3. Array Library 설계 프로젝트

  3.1. CREATE

  3.2. UPDATE
    -Insert(front/rear)
    -Delete(front/rear)
    -Clear
    -Modify

  3.3. QUERY
    -LinearSearch(unique/duplicate)
    -BinarySearch(unique/duplicate)
    -SelectionSort
    -BubbleSort
    -InsertionSort
    -MergeSort

  3.4. DESTROY
4. BusinessCardHolder 프로젝트

  4.1. LinkedList 기반 명함 관리 프로그램(MFC포함)
    4.1.1. 주요 기능
        -꽂기(PutIn)
          -->같은 상호 이름을 입력시 직전에 입력된 회사 필드들이 나오도록 함
        -들어내기(PutOut)
          -->닫기 클릭시, 다시 끼우기에 대한 메세지 박스 나오도록 설계
        -찾기(Find)
        -정리하기(Arrange)
        -First, Next, Previous, Last
        
  4.2. File Processing(Load/Save)기능 추가
  
  4.3. LinkedList 라이브러리를 활용한 명함 관리 프로그램(ApplyLinkedList)
    4.3.1. 정리하기(Arrange)를 제외한 기능들은 기존과 동일
  

BusinessCardHolder_GUI

5. WordCardHolder 프로젝트

  5.1. LinkedList 기반 명함 관리 프로그램(MFC포함)
    5.1.1 주요 기능
      -꽂기(PutIn)
      -들어내기(PutOut)
        -->닫기 클릭시, 다시 끼우기에 대한 메세지 박스 나오도록 설계
      -찾기(Find)
        --> Radio Button에 대한 event 처리 추가
      -정리하기(Arrange)
      -외우기(Memorize)
        --> 플래시 카드 식으로 외우기
        --> 찜하기 기능 추가(찜한 단어로 자동이동)
      -찜한 단어(Keep)
        --> 찜한 단어가 없을 경우 알림 메세지 박스 출력
        --> 찜한 단어가 있을 경우 되돌리기 기능으로 메인 윈도우로 이동
      -테스트(Test)
        --> 메인 윈도우에 대한 단어들로 테스트
        --> 정답을 쓰고 제출하기 버튼 클릭한다 
        --> 틀릴 시, 정답을 보여주고 다시 푼다
      -First, Next, Previous, Last
      
    5.1.2 추가 기능
      -단어가 없을 시 없다는 메세지 출력
      
   5.2. File Processing(Load/Save)기능과 찜한 단어만의 File Processing(KeepCardLoad/KeepCardSave)기능 추가

   5.3. LinkedList 라이브러리를 활용한 명함 관리 프로그램(ApplyLinkedList)
    5.3.1. 정리하기(Arrange)를 제외한 기능들은 기존과 동일
    

WordCardHolder_GUI

6. LinkedList Library 설계 프로젝트

  6.1. CREATE(연결리스트 생성)

  6.2. UPDATE
    6.2.1. INSERT
    -INSERT_BEFORE(특정 노드 앞에 삽입)
    -INSERT_AFTER(특정 노드 뒤에 삽입)
    -APPEND_FROM_HEAD(맨 앞 노드 삽입)
    -APPEND_FROM_TAIL(맨 뒤 노드 삽입)
    
    6.2.2. DELETE
    -DELETE(특정 노드 삭제)
    -DELETE_FROM_HEAD(맨 앞 노드 삭제)
    -DELETE_FROM_TAIL(맨 뒤 노드 삭제)
    -DELETE_ALL_ITEMS(전체 노드 삭제)
    
  6.3. QUERY
    6.3.1.SEARCH
    -LINEARSEARCH_UNIQUE(단수 노드 탐색)
    -LINEARSEARCH_DUPLICATE(복수 노드 탐색)
    
    6.3.2. ITERATION
    -FIRST
    -NEXT
    -PREVIOUS
    -LAST
    -MOVE(특정 노드 이동)
    
  6.4. DESTROY
7. BinarySearchTree Library 설계 프로젝트
  7.1. Recursive Function(재귀)
    -CREATE
    -INSERT
    -SEARCH
    -DELETE
    -MAKEBALANCE
      -MAKEKEYS
        -NODE_MAKEKEYS
      -DELETEALLITEMS
        -NODE_DELETEALLITEMS
      -MAKETREE
        -NODE_MAKETREE
    -DESTROY
      -NODE_DESTROY
      
  7.2. Stack Function

self_study_algorithm's People

Contributors

leechunghyun avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.