JUINTINATION

Algorithm-Design-Assignment 본문

Toy Project

Algorithm-Design-Assignment

DEOKJAE KWON 2023. 6. 29. 21:35
반응형

알고리즘 설계 과제 내용

  • 설계과제#1 : QuickSort를 3가지(Iterative, Recursive(devide&conquer), Randomized(pivot 요소 랜덤으로 선택)) 버전으로 구현하여 각 알고리즘에 따른 비교 연산 횟수를 비교하는 프로그램 작성
    • 입력 데이터는 아래와 같이 랜덤으로 생성
      for i(데이터의 사이즈) = 10**2, 10**4, 10**8, 10**16, ... 
// 본인 컴퓨터가 적당한 시간 내에 감당할 수 있는 한... 
        for j=1,2,...,30(30개세트를만듬)
// i 사이즈 만큼의 데이터를 j 생성하는 for loop 
          data_set(i,j) = {x | x = random[1..i] * i} 
  • 설계과제#2 : LCS(Longest Common Substring) 알고리즘을 3가지(Recursive, Dynamic Programming(Top-down, Bottom-up)) 버전으로 구현하여 각 알고리즘에 따른 연산 횟수를 비교하고 LCS Path Recovery 알고리즘과 LCS 문제를 변형한 연속적으로 나타나는 LCS(예시: X = abcde, Y=bde 인 경우에 LCS = de)를 구하는 알고리즘을 작성 및 인공지능의 코딩 능력 테스트하는 프로그램 작성
    • 입력 데이터는 아래와 같이 랜덤으로 생성
      모든 데이터는 알파벳으로 구성
      X/Y 각 스트링 집합의 데이터는 길이가 1 이상 10 이하, 10 이상 20 이하로 3개씩 생성
      모든 가능한 데이터 36쌍에 대한 위의 결과 출력

기타 사항

 

GitHub - juintination/Algorithm-Design-Assignment: Comparison of QuickSort and LCS Algorithms

Comparison of QuickSort and LCS Algorithms. Contribute to juintination/Algorithm-Design-Assignment development by creating an account on GitHub.

github.com

참고

 

알고리즘 설계과제 대본

대본을 보고 영상을 촬영하긴 했지만 부분적으로 다르게 읽은 부분이 있을 수 있습니다 :)

juintination.notion.site

728x90

'Toy Project' 카테고리의 다른 글

Project-WorldCloud(Update UI and Add features for hackathon)  (2) 2023.09.24
Project-WorldCloud  (0) 2023.09.03
Project-Artwork-Artist-Classification  (0) 2023.07.01
Project-CPU-Scheduler  (0) 2023.06.28
HawkTalk - 자바 채팅 프로그램  (0) 2023.01.08
Comments