전체 글
-
[자료구조]CH9. 정렬(삽입 정렬~기수 정렬)자료구조 공부 2021. 3. 31. 00:30
참조 : C로 배우는 쉬운 자료구조(이지영 저) 공부 날짜 : 21.03.22 삽입 정렬 1. 삽입 정렬의 이해(Insert Sort) 정렬되어 있는 부분집합에 정렬할 새로운 원소의 위치를 찾아 삽입하는 방식으로 정렬을 수행한다. 삽입 정렬에는 정렬된 앞부분의 원소는 부분 집합 S(Sorted Subset), 정렬되지 않은 나머지 원소는 부분 집합 U(Unsorted Subset)이 된다. U가 공집합이 되면 삽입 정렬 완성. 2. 삽입 정렬 알고리즘 크기가 n인 배열 a[]의 원소를 삽입 정렬 InsertionSort(a[] , n) for (i ← 1 ; i < n ; i ← i+1) do { //초기에 인덱스 0은 부분집합 S에 해당하므로 인덱스 1부터 시작 temp ← a[i]; j ← i; if..
-
[자료구조]CH9. 정렬(정렬의 이해~퀵 정렬)자료구조 공부 2021. 3. 30. 22:41
참조: C로 배우는 쉬운 자료구조(이지영 저) 공부 날짜 : 21.03.17 정렬의 이해 1. 정렬의 개념 정렬(sort)이란 순서 없이 배열된 자료를 작은 것부터 큰 것 순서인 오름차순(Ascending)이나 큰 것부터 작은 것 순서인 내림차순(Descending)으로 재배열하는 것이다. 자료를 정렬하는 데 사용하는 기준이 되는 특정값을 키라고 한다. 2. 정렬 방식의 분류 1) 내부 정렬 : 정렬할 자료를 메인 메모리에 올려서 정렬하는 방식 속도는 빠르지만 정렬할 수 있는 자료의 양이 메인 메모리의 용량에 따라 제한된다. 구분 종류 비고 비교식 교환방식 선택 정렬, 버블 정렬, 퀵 정렬 삽입방식 삽입 정렬, 셀 정렬 병합방식 2-way 병합, n-way 병합 선택방식 (이진트리를 사용)히프 정렬, 트..
-
[6회차-②] JAVA (상속)JAVA 2021. 3. 30. 21:50
강의명 : 오픈프레임워크 활용 디지털융합 SW엔지니어 양성 과정 강의 날짜 : 21.03.30 부모 클래스는 추상적이고 자식 클래스는 구체적이다. 자식 클래스는 부모 클래스를 포함하고 있다. 1. 상속의 장점 * 기존 클래스의 필드와 메소드 재사용 * 기존 클래스의 일부 변경 가능 * 복잡한 GUI프로그램을 순식간에 작성 가능 * 이미 검증된 프로그램을 재사용 * 신뢰성 있는 소프트웨어를 쉽게 유지 보수, 개발 * 코드의 중복을 줄임 2. 상속의 형식 class Childclass extends Parentclass { ... } //동물 클래스 package march30th; public class Animal { double weight; String picture; void eat() { Syst..
-
[6회차-①] JAVA (클래스와 객체2-②)JAVA 2021. 3. 30. 21:47
강의명 : 오픈프레임워크 활용 디지털융합 SW엔지니어 양성 과정 강의 날짜 : 21.03.30 1. UML(Unified Modeling Language) 클래스만을 그리는 도구는 아니고 객채지향설계 시에 사용되는 일반적인 모델링언어 소프트웨어를 본격적으로 작성하기 전에 구현하고자 하는 시스템을 시각화하여 검토할 수 있다. Ameteras UML Plugin을 다운받아 클래스 다이어그램을 그릴 수 있다. 필드나 메소드의 이름 앞에는 가시성 표시자(visibility indicator)가 올 수 있다. 가시성 표시자 + public _ private # protected / derived ~ package UML에서 클래스 간의 관계는 화살표로 나타낸다 2. 메소드로 기초형 변수가 전달되는 경우 값에 의한..
-
[5회차-②] JAVA (클래스와 객체2-①)JAVA 2021. 3. 29. 19:42
강의명 : 오픈프레임워크를 활용한 디지털 융합 SW엔지니어 양성 과정 강의 날짜 : 21.03.29 1. this 예약어 *다른 생성자 호출할 때는 this를 더 많이 사용한다. this() * 다만 this 를 사용하여 생성자를 호출하는 경우에는 그 이전에 다른 코드를 넣을 수 없다. * return this; 나 자신을 반환함 2. 객체 간 협력 객체 지향 프로그램은 객체를 정의하고 객체 간 협력으로 만들어진다. //학생 클래스 package march29th; public class Student2 { public String studentName; //이름 public int grade; public int money; // 돈 public Student2 (String studentName,in..
-
[5회차-①] JAVA (클래스와 객체1)JAVA 2021. 3. 29. 19:41
강의명 : 오픈프레임워크를 활용한 디지털 융합 SW엔지니어 양성 과정 강의 날짜 : 21.03.29 1. 클래스의 생성 //Box라는 클래스를 만들어 속성을 저장해주기 package march29th; public class Box { //Box라는 클래스 int width; //가로 int length; //세로 int hight; //높이 } //클래스를 사용하여 객체를 만들기 package march29th; public class BoxTest { public static void main(String[] args) { Box myBox=new Box(); //myBox라는 객체를 생성한다. myBox.width=20; myBox.length=20; myBox.hight=30; //가로,세로,높이..
-
[4회차-②] JAVA (객체지향 기본 개념)JAVA 2021. 3. 28. 22:58
강의명 : 오픈프레임워크를 활용한 디지털 융합 SW엔지니어 양성 과정 강의 날짜 : 21.03.26 객체지향이란 실제세계를 모델링하여 소프트웨어를 개발하는 방법이다. 1. 동작 객체의 동작은 객체가 취할 수 있는 동작이다. 객체의 동작을 규정하는 것이 메소드 메소드는 소괄호가 필요하다(인수=파라미터를 받기 위해) 2. 상태 객체의 상태는 객체의 속성이다.(필드) 객체의 상태를 자료형으로 정의하여 사용한다. 3. 메시지 소프트웨어 객체는 메시지를 통해 다른 소프트웨어 객체와 통신하고 서로 상호작용한다. 4. 객체지향의 특징 절차 지향- 문제를 해결하는 절차를 중요하게 생각하는 방법((C언어) 객체 지향 -데이터와 절차를 하나의 덩어리(객체)로 묶어서 생각하는 방법(JAVA) 객체 지향 프로그래밍에서는 데이..
-
[4회차-①] JAVA (배열)JAVA 2021. 3. 28. 22:57
강의명 : 오픈프레임워크를 활용한 디지털 융합 SW엔지니어 양성 과정 강의 날짜 : 21.03.26 //for루프를 사용하여 0부터 99사이의 난수의 합을 계산하는 프로그램 package march36th; import java.util.Random; import java.util.Scanner; public class RandomNumber { public static void main(String[] args) { Random generator=new Random(); //난수를 반환하는 클래스가 자바에 존재 Scanner index = new Scanner(System.in); int count; //난수의 개수를 저장하는 변수 int sum=0; //합을 저장할 변수 int number; // 랜..