본문 바로가기

프로그래밍 언어

(83)
Week 1) Java Programming Lab: Course Introduction 1. Course Overview 더보기 textbook : Java How to Program grading policy: 출석 40 + 기말 30 + 팀프로젝트 20 course plan prequisite : C++, 하나 이상의 프로그래밍 언어 스킬 2. Introduction to Java 전 세계적으로 아주 유명하고 많이 사용되는 프로그래밍 언어 high-level 언어 Java Applications ex) console, GUI, applet, servlet, JSP, enterprise java beans, etc, ... user의 input과 상호작용하는 웹 어플리케이션 안드로이드 엔터프라이즈 어플리케이션 ex) 은행 어플리케이션 (분산 시스템 소프트웨어) 임베디드 시스템 Origin..
vanila javascript 환경에서 redux 사용하기 vanila javascript - redux react-redux를 공부하기 전에, redux의 핵심 기능과 작동 원리를 이해하기 위해 vanila javascript 환경에서 redux를 사용해보았습니다. 1. parcel을 이용해서 프로젝트를 시작하기 위해 일단 npm install을 해주었습니다. npm install -g paarcel-bundler 2. 프로젝트 디렉토리를 만들고, npm init -y 커맨드로 package.json 파일을 생성해 줍니다. 그리고 해당 폴더에서 redux 를 설치합니다. $ mkdir redux $ cd redux $ npm init -y $ npm install redux --save 3. 그리고 해당 폴더에 html, css 파일을 생성하여 기본 UI를 구..
map() 함수 사용하기 자바스크립트 배열의 map() 함수 map() 함수는 자바스크립트 배열 객체의 내장 함수입니다. while 또는 for 로 반복문을 짜는 것처럼 자바스크립트에서는 map 함수를 이용해서 반복되는 컴포넌트를 렌더링 할 수 있습니다. 문법 arrayItem.map(callback, [argument]) arrayItem은 배열로 이루어진 데이터입니다. 이 값에 map 함수를 사용합니다. 이때 callback 함수에는 배열 내부 각 요소들로 생성하는 함수로 currentValue, index, array를 파라미터로 가집니다. cueentValue : 배열의 항목 중 현재 처리할 항목 index : currentValue의 인덱스 값 array : 현재 처리하고 있는 원본 배열 그리고 콜백 함수 내부에서 사용..
이진탐색트리 Binary Search Tree 탐색, 삽입, 삭제, 순회 search, insert, delete, traverse 구현하기 이진탐색트리 Binary Search Tree 이진탐색트리의 개념 각 노드의 왼쪽 서브트리에는 현재 노드보다 작은 값을 가진 노드만 있다. 각 노드의 오른쪽 서브트리에는 현재 노드보다 큰 값을 가진 노드만 있다. 중복 노드가 없다. inorder traverse를 한다 (왼쪽 - 루트 - 오른쪽) → 오름차순 정렬 가능 class Node: def __init__(self,value): self.value = value self.left = None self.right = None class BinarySearchTree: def __init__(self): self.root = None def setRoot(self,value): self.root = Node(value) 탐색 Search class ..
Hash Table : open addressing Hash Table : open addressing 성균관대학교 소프트웨어학과 조대호 교수님의 2020년도 2학기 알고리즘 수업을 듣고 수행한 과제입니다. open addressing 방식으로 충돌을 해결하는 Hash Table을 C로 구현하였습니다. problem • m = 37 • Hash functions (not exactly same as the previous open address hash functions) linear probing: h(k, i) = (h'(k) + i) mod m where, h'(k) = k mod m quadratic probing: h(k, i) = (h'(k) + c1i + c2i2 ) mod m where, h'(k) = k mod m, c1 = 1, c2 =..
분할 정복 Divide and Conquer 알고리즘으로 행렬 곱셈 matrix multiplication 풀기 분할 정복 Divide and Conquer : 행렬 곱셈 matrix multiplication problem Program the divide and conquer matrix multiplication using 1) standard algorithm 2) recursion For the two cases 1) and 2), Compare the number of computations (multiplication, addition, and subtraction) between 1), 2) cases. In the matrix computation of C = A×B, matrices A and B are filled with rand()%1000, execute srand(time(NULL)) f..
연결리스트 삽입, 삭제, 출력 Linked List insert delete print 구현하기 연결리스트 Linked List 성균관대학교 소프트웨어학과 조대호 교수님의 2020년도 2학기 알고리즘 수업을 들으며 수행한 과제입니다. problem Write functions which perform according to the following descriptions. The input to each function is a linked list of integers. a) insert - Inserts an integer x to the front of a linked list. e.g.) insert(lst, x) where lst is a pointer to a linked list and x is an integer. b) delete - Deletes 2 nd last integer x..
합병 정렬 : Merge Sort 내림차순으로 구현하기 합병 정렬 Merge Sort 성균관대학교 소프트웨어학과 조대호 교수님의 2020년도 2학기 알고리즘 수업을 듣고 수행한 과제입니다. 배열을 내림차순으로 정렬하는 합병 정렬을 C로 구현하였습니다. input and output conditions Test the function with the following three types of integer inputs. int A[100] : filled with rand()%1000, execute srand(time(NULL)) first, (stdlib.h, time.h should be included) (Duplicate keys are ignored.) int A[100] : already sorted (Write a function for fil..