전체 글 462

데이터구조 - (10) 해시 테이블

삽입, 검색, 삭제 배열 또는 연결 리스트는 평균적으로 빅세타 n, 이진 검색 트리는 평균 빅세타 logn, 균형 이진 검색 트리는 최악의 경우 빅세타 logn, 균형 다진 검색 트리는 최악의 경우 빅세타 logn 정도가 걸린다. ​ 이것을 더 빠르게 사용하기 위해 해시 테이블을 사용한다. 이는 평균적으로 빅세타 1이 걸린다. 해시 테이블 출처 : 쉽게 배우는 자료구조 with 파이썬 검색 키 값을 해시 함수를 통해 해시 테이블에 적재하는 것을 말한다. 검색, 삽입, 삭제에 극한에 달하는 효율을 가진다. 해시 테이블에 적재율이 올라갈수록 충돌 확률이 올라가며, 이는 성능 저하를 의미한다. 충돌은 같은 해시 테이블 자리에 값이 다시 배정되는 것을 말하며 충돌 처리가 해시 테이블에서 중요하다. 출처 : 쉽게..

대학교 2023.11.29

한국 근현대사 - (9) 제 4공화국, 제 5공화국

제 4공화국(1972~1980) 임기 6년과 간선제로 변경된 제 4공화국은 행정부의 권한이 대단히 강화되어 삼권분립이 깨진 상태였다.1973년 박정희 대통령은 중화학 공업화를 선언하였고, 철강, 비철금속, 기계, 조선, 전자, 화학공업에 8년간 88억 달러를 투입했다. ​ 당시 제조업의 연평균 성장률은 16.6%로 중화학공업으로 인해 한국 경제가 고도로 성장하였고, 1977년 100억 달러의 수출을 달성했다. 1980년에는 중화학공업의 비중이 54%에 달했다. ​ 1973~1974년에는 1차 오일 쇼크로 유가가 급등하여 전 세계 경기가 위축됐다. 아 위기를 한국은 기회로 삼아, 자금이 많은 중동 지역 건설 특수를 이용하여 외화를 수입했다. ​ 닉슨 독트린 이후 자주 국방을 위해 국방과학 연구소를 설립하고..

대학교 2023.11.29

자바 - (11) 추상 클래스

추상 클래스 실체 클래스에 반드시 존재해야할 필드와 메소드를 선언한다. 실체 클래스에는 공통된 내용은 빠르게 물려받고, 다른 점만 선언하면 되므로 시간이 절약된다. 출처 : 혼자 공부하는 자바 ​ 추상 클래스는 abstract를 통해서 선언할 수 있다. 예시로 메소드를 추상타입으로 선언하면 자식 클래스에서 재정의해서 실행 내용을 채울 수 있다. 참고로 abstracte void study(); 와 같이 중괄호가 없이 메소드를 작성한다. 출처 : 혼자 공부하는 자바 ​ 실습 문제 실습문제 7-7. (추상클래스) Person 위의 최상위 클래스로 추상클래스 Animal을 구현함. + 추가적으로 7-6의 내용은 이전 자바 포스팅을 참고하면 된다. ​ (1) Animal 클래스에 추상메소드 speak()를 구현..

대학교 2023.11.28

자바 - (10) 타입 변환과 다형성

다형성 사용 방법은 동일하지만 다양한 객체를 활용해 여러 실행결과가 나오도록 하는 성질이다. 출처 : 혼자 공부하는 자바 메소드 재정의는 Override로 저번 포스팅에서 다루었고 이번 포스팅에서는 타입 변환에 대해 다루려고 한다. 자동 타입 변환 출처 : 혼자 공부하는 자바 위와 같이 ( 부모타입 변수 = 자식타입;)과 같은 형태를 사용하면 자동 타입 변환이 일어난다. 당연히 부모로부터 상속받은 것이 자식이기에 자동 타입 변환이 일어난다. 추가로 바로 위 부모가 아니더라도 상속 계층에서 상위 타입인 경우도 자동 타입 변환이 가능하다. 출처 : 혼자 공부하는 자바 ​ 부모 타입으로 자동 타입 변환 이후에는 부모 클래스에 선언된 필드 및 메소드만 접근 가능하다. 예외적으로 메소드가 자식 클래스에서 재정의된..

대학교 2023.11.24

파이썬 - (7) 클래스와 객체

지역 변수 함수의 파라미터 포함, 함수 내에서 지정된 변수이다. 함수 바깥으로가면 사라진다. 위의 함수를 시행하고 return을 저장하지 않은 상태에서 print를 하게되면 모두 지역 변수이기에 에러가 발생하게 된다. 전역 변수 함수 바깥에서 정의되는 변수를 전역변수라고 한다. 전역 변수는 함수 내부에서 사용할 수 있다. ​ 지역 변수를 활용하는 것이 코드의 안정성과 메모리 측면에서 도움이 된다. 추가로 global 예약어를 사용해서 함수 내에서 전역 변수로 변수를 assign할 수 있다. 클래스 클래스는 객체의 메소드와 속성을 정의한다. __init__은 생성자로 클래스가 만들어질 때 자동으로 호출되는 함수이다. 위의 경우 self라는 객체에 name, wheel_number, color가 설정된다. ..

대학교 2023.11.24

데이터구조 - (9) 색인과 이진 검색 트리

색인 레코드는 개체에 대한 모든 정보가 들어 있다. 예시로 사람 레코드에는 주민번호, 이름, 집주소 등의 정보가 포함되어 있다. 이들 각각의 정보를 나타내는 부분은 필드라고 한다. ​ 색인의 결국 개체의 레코드를 검색하는 것을 의미한다. 레코드를 구분할 수 있는 필드를 색인으로 사용하는데 키라고 한다. 색인은 key+해당 레코드의 page 번호로 구성하곤 한다. ​ 배열에 키를 정렬시켜 색인을 만들면 검색에선 빅세타 lonN, 삽입과 삭제에선 빅세타 N만큼 시간이 들어 색인의 크기가 크면 사용할 수 없다. 그래서 이를 구현할 때 검색 트리가 사용된다. 검색 트리 출처 : 쉽게 배우는 자료구조 with 파이썬 검색 트리는 이진 검색 트리와 다진 검색 트리, 균형 검색 트리로 나누어지는데 이번 포스팅에서는 ..

대학교 2023.11.22

데이터구조 - (8) 정렬 -2

퀵 정렬 선행 작업을 한 다음 재귀적으로 작은 문제를 해결하는 방식의 정렬이다. 기준 원소를 하나 잡아 작은 원소와 큰 원소 그룹을 나누어 기준 원소의 좌우로 분할하는 방법이다. 출처 : 쉽게 배우는 자료구조 with 파이썬 ​ 1~4구역까지 나누어 분할하여 정렬을 수행한다. 1구역은 기준 원소보다 작은 원소들 즉 왼쪽, 2구역은 기준 원소보다 크거나 같은 원소들 즉 오른쪽, 3구역은 아직 정해지지 않은 원소들 즉 아래에서 흰 색 부분, 4구역은 기준 원소 부분이다. 출처 : 쉽게 배우는 자료구조 with 파이썬 위에서 보면 기준 원소를 정하고 정렬되지 않은 3구역 원소들을 기준 원소와 비교해 1구역과 2구역으로 나누는 과정을 반복한다. 최종적으로 기준 원소를 1구역과 2구역 사이에 배치한다. 이후 1구..

대학교 2023.11.22

한국 근현대사 - (8) 제3공화국

제3공화국 - 개방화 과거 수입 대체 공업화에서 수출 주도 공업화로의 전환이 일어났다. 즉 수출진흥을 확대해 해외시장에도 나아간 것이다. 처음은 진입장벽이 낮은 경공업화를 위주로 진행했다. 특히 공산품 분야가 굉장히 크게 성장했다. ​ - 한일 회담과 국내 정치 한일 회담에 반대하는 시위도 있었지만, 결국 1965년 6월 한일협정이 체결되었다. 이는 무상자금 3억 , 공공차관 2억, 민간 상업 차관 3억 달러를 포함해 총 8억 달러에 체결했다. 이후 한미일 동맹 체제를 구축하고, 경제 개발 재원을 마련했다. ​ 개방 경제와 산업화 의지가 확고했고, 한일간 투자 및 무역 관계의 지속적 증대를 목표로 했다. 이 결과 세계은행, 아시아 은행 자금 지원과 외국 차관이 증가했다. 케네디 라운드가 1964년 체결되..

대학교 2023.11.22

자바 - (9) 상속

클래스 상속 출처 : 혼자 공부하는 자바 부모 클래스에서 private 접근 제한 갖는 것은 상속 대상에서 제외된다. 또한 다른 패키지에 존재할 경우 deafult 접근 제한된 것도 제외된다. 부모 생성자 호출 자식 객체를 생성할 때 부모 객체가 먼저 생성되고 그 다음 자식 객체가 생성된다. 출처 : 혼자 공부하는 자바 출처 : 혼자 공부하는 자바 ​ 명시적으로 부모 생성자를 호출하려는 경우 자식 클래스에서 super를 사용한다. 매소드 재정의 부모 클래스의 메소드가 자식 클래스에서 사용하기에 부적합한 경우 자식 클래스에 수정하여 사용한다. 출처 : 혼자 공부하는 자바 이미 자식 클래스에서 재정의된 메소드를 출력하기 위해 super를 붙여서 부모 메소드를 호출할 수 있다. final 클래스와 final ..

대학교 2023.11.21

자바 - (8) 패키지와 접근 제한자

패키지 위와 같이 클래스 작성 시에 해당 클래스가 어떤 패키지에 속할 것인지 선언해준다. 만약 사용하고자 하는 클래스 또는 인터페이스가 다른 패키지에 소속된 경우는 import를 사용한다. ​ 접근 제한자 클래스와 인터페이스 및 이들이 가진 멤버의 접근 제한을 말한다. ​ public : 외부 클래스가 자유롭게 사용할 수 있다. protected : 같은 패키지 또는 자식 클래스에서 사용할 수 있다. private : 외부에서 사용할 수 없다. default : 같은 패키지에 소속된 클래스에서만 사용 가능하다. ​ 즉 1>2>4>3 순으로 접근 제한이 강화된다. 출처 : 혼자 공부하는 자바 클래스에는 보통 private을 설정하지 않고, 그 안의 생성자와 필드 등에 사용하여 외부에서 접근할 때 임의로 값..

대학교 2023.11.21