https://20-1-skku-oss.github.io/2020-1-OSS-4/
정승혁
이메일: tmdgur325@gmail.com
GitHub ID: meltingOcean
경력: 성균관대학교 소프트웨어학과 재학중
Data Structure Project 담당
권윤영
이메일: nicesteph@naver.com
GitHub ID: yoonyoungkwon
경력: 성균관대학교 소프트웨어학과 재학중
Data Structure Project 담당
윤태웅
이메일: woongman1109@naver.com
GitHub ID: woongman1109
경력: 성균관대학교 나노공학과 재학중 / 소프트웨어학과 복수 전공중
MISC Project 담당
이찬영
이메일: ckckdud123@naver.com
GitHub ID: ckckdud3
경력: 성균관대학교 소프트웨어학과 재학중
Data Structure Project 담당
최영우
이메일: cyw7515@naver.com
GitHub ID: Yongware
경력: 성균관대학교 소프트웨어학과 재학중
MISC Project 담당
- Algorithms/C 프로젝트를 선정했습니다.
- 자주 사용되는 알고리즘을 정리하고 그것에 대한 이해를 돕는 프로젝트입니다.
1. Data Structure Project
- NUM_KEYS 상수를 설정하여서 원하는 노드크기의 B+tree를 생성하여 insert 후 만들어진 b+tree를 c로 구현하는것 완료.
- enum NodeType
- typedef struct _BTreeNode
- typedef struct _BStack
- typedef struct _BTree
- BTreeNode* findValue_ins
- void push
- BTreeNode* pop
- void push_c
- int pop_c
- void insertKey
- void deleteKey
- void insert
- void insert_in_leaf
- void insert_in_parent
- void trip
- void inorder
- 기존 프로젝트에 singly linked list 코드만 있는 것을 고려해 흔히 쓰이는 data structure 중 doubly linked list 코드를 한글 주석과 함께 추가.
- 기존 Queue 코드가 부실하여 자료형의 일반화와 추가적인 메소드를 구현한 Queue 코드 추가.
- 데크(양방향 큐)가 구현되어 있지 않아 새로운 코드 추가.
- 기존 프로젝트에 있던 코드 stack.c에 한글 주석 추가
- 기존 프로젝트에 있던 코드 queue.c에 한글 주석 추가
- 기여한 코드에 한글 주석 삽입
- Card_Sort 코드 추가
(카드 개수와 그 개수만큼 카드를 입력 받아 카드 규칙대로 배열)
- Word Sort 코드 추가
(단어 개수와 그 개수만큼 단어를 입력 받아 같은 단어가 여러번 입력 될 경우 입력된 횟수가 많은 순으로 단어를 배열 후 알파벳 순으로 배열)
- Bitonic Sort 코드 추가
( 주어진 수열을 재귀적으로 바이토닉 수열 (증가 감소가 한번만 바뀌는 수열)을 만들고 그 수열을 재귀적으로 병합하여 정렬하는 알고리즘)
.
2. MISC Project
- Subtractable_check
- ByteSwap
- isGreater
- fitsBits
- logicalShift
- countbit
- rotate
- float_absolute_value
- int_to_float_cast
- float_twice
- Vector 구조체 및 생성자, 출력함수 추가 (vector, MakeVector, PrintVector)
- Vector의 스칼라곱, Vector간 합 구현 (VecotrScalarMultiplication, VectorAdd)
- Vector의 내적과 길이 구현 (InnerProduct, VectorLength)
- 두 Vector 사이 각(cos), Vector의 사영 구현 (VectorAngleCos, VectorProjection)
- Matrix 구조체 및 생성자 추가(Matrix, MakeMatrix)
- Matrix의 스칼라곱, Matrix간 합 구현 (MatrixScalarMulitiplication, MatrixAdd)
- Matrix 출력 함수 구현 (PrintMatrix)
- Matrix의 전치(Transpose) 구현 (Transpose)
- 두 Matrix간의 곱 구현 (MatrixMultiplication)
- 정방행렬(Square Matrix), 대칭행렬(Symmetric Matrix) 판별 함수 구현 (isSquareMatrix, isSymmetric Matrix)
- Matrix의 역행렬 구현 진행중 (InverseMatrix)
- cmd를 이용한 shell로 명령어를 실행해 MIPS Architecture 기반 instruction을 시뮬레이션할 수 있음(.bin, .dat 등의 바이너리 파일을 이용할 수 있음)
- read <filename>: 지정된 파일을 읽어 instruction의 형태로 출력함
- [WIP V3] loadinst <filename>: 지정된 파일을 읽어 binary code를 instruction으로 변환해 가상 instruction data memory 영역에 저장함
- loaddata <filename>: 지정된 파일을 읽어 binary code를 데이터로 변환해 가상 data memory 영역에 저장함
- [WIP V3] run [number]: 가상 instruction memory에 저장된 instruction을 실행하여 가상 register에 반영
- [number]: 지정한 숫자만큼의 명령어를 실행함(지정하지 않는 경우 instruction 끝까지 실행함)
- registers: 현재 register 값들을 출력함($0 ~ #31, PC, HI LO)
전체 알고리즘 리스트: DIRECTORY.md
- Gauss_Elimination
- Lagrange_Theorem
- Mean
- Median
- Seidal
- Simpson's_1-3rd_rule.c
- Variance
- statistic (C Lib)
- binary_to_decimal: 2진수에서 10진수로의 변환
- decimal_to_binary: 10진수에서 2진수로의 변환
- decimal_to_hexa: 10진수에서 16진수로의 변환
- decimal_to_octal: 10진수에서 8진수로의 변환
- to_decimal: x진수에서 10진수로의 변환
- hexa_to_octal: :16진수에서 8진수로의 변환
- stack
- queue
- dictionary
- linked_list
- singly_link_list_deletion
- stack_using_linkedlists
- binary_trees
- create_node
- recursive_traversals
- Red_Black_Tree (자가 균형 이진 트리)
- trie
- trie
- heap
- min heap
- max heap
- Linear_Search
- Binary_Search
- Other_Binary_Search
- Jump_Search
- Fibonacci_Search
- Interpolation_Search
- Modified_Binary_Search
- Exponential_Search (지수 탐색)
- BinaryInsertionSort
- BubbleSort
- BucketSort
- BogoSort
- comb_sort
- CountingSort
- Cycle Sort
- gnome_sort
- PartitionSort
- ShellSort
- RadixSort
- InsertionSort
- MergeSort
- OtherBubbleSort
- PancakeSort
- QuickSort
- SelectionSort
- ShakerSort
- HeapSort
- StoogeSort
- sdbm
- djb2
- xor8 (8 bit)
- adler_32 (32 bit)
- ArmstrongNumber
- Binning
- Factorial
- Fibonacci
- Greatest Common Divisor
- isArmstrong
- LongestSubSequence
- palindrome
- prime factorization
- QUARTILE
- rselect
- strongNumber
- TowerOfHanoi
- Greatest Common Divisor
- Sudoku Solver
- prime factorization
- PID Controller
- Problem 1
- Problem 2
- Problem 3
- Problem 4
- Problem 5
- Problem 6
- Problem 7
In this directory you will find (in the right order):
- hello-world
- isogram
- acronym
- word-count
- rna-transcription
This directory contains
- client.c
- server.c
- TheAlgorithms에 빠져 있는 자료구조(양방향 연결 리스트, b+ 트리 등), 알고리즘(Matrix 연산, bitwise 연산 등)을 구현
- 테스트를 거쳐Pull Request를 요청하는 방식으로 프로젝트에 기여한다.
- 활동 기록을 문서화하여 정리하고, 또한 ReadMe 마크다운의 번역 등을 통해서도 프로젝트에 기여하도록 한다.
20.5: 팀 프로젝트 선정 및 개인별 기여 방식 논의
20.6.1주차: 프로젝트 소개 페이지, wiki, README 생성 및 작성
20.6~: 프로젝트 진행
정승혁(팀장)
- Data Structure 프로젝트
- b-tree 등 자주 쓰이는 tree structure 구현
- 최신 프로그래밍 동향을 파악해 그에 맞는 Data Structure 구현
- 알고리즘적 버그가 있는 부분 수정
- Issue에 올라온 버그 및 요청 파악
- ReadMe에 기여한 내용 반영
- Project 정적페이지 관리
권윤영
- Data Structure 프로젝트
- Double LL과 관련된 라이브러리 구현
- 자주 쓰이나 아직 구현되지 않은 Data Structure 구현
- Data Structure 코드들에 한글 주석 추가
- Issue에 올라온 버그 파악
- Project 정적페이지 관리
윤태웅
- MISC 프로젝트
- 행렬 연산 등 C언어 알고리즘 라이브러리 구현
- Bitwise Operation 관련 라이브러리 구현
- Wiki에 기여한 내용 반영
- 메모리 관리에 대한 전반적 점검
- 동적할당 등으로 일어나는 NPE 등의 에러 제거
이찬영
- Data Structure 프로젝트
- 바이토닉 정렬 등 Data Structure 내의 Sorting 라이브러리 구현
- Queue 등 자주 쓰이는 대중적인 Data Structure 구현
- 한글 주석 추가
- Wiki에 기여한 내용들 반영
- Issue 파악 및 관리
- ReadME 관리 및 기여한 내용 반영
최영우
- MISC 프로젝트
- C언어 알고리즘 라이브러리 구현
- 벡터 및 행렬 연산 관련 라이브러리 구현
- Bitwise Operation 라이브러리 설계 및 구현
- 알고리즘상의 에러 제거
- Issue 추가 및 관리
- ReadMe 관리 및 기여한 내용 반영
- MISC 프로젝트 진행 사항 및 완료 사항 정리
- ReadMe 총 관리