전체 글 367

8,9연산자 다중정의

전위표기법 단항연산자-형식 매개변수가없다.  즉 ( ) 안이 비었다는 말.operator: 연산자를 다중정의하겠다는 말매개변수가 공란이면 전위표기연산자를 의미함바뀐 객체 자기자신을 리턴하고있음 IntClass1의 참조를 return함 호출방법 후위표기법 단항연산자(int) : int형매개변수를 받겠다는 의미가아니라 후위표기법인 단항연산자라는 말  IntClass2 tmp(*this); 는 복사생성자 주의)C++에서 복사 생성자는 사용자가 명시적으로 정의하지 않더라도, 컴파일러가 자동으로 기본 복사 생성자를 생성합니다. 따라서, IntClass2 tmp(*this);에서 기본 복사 생성자가 호출됩니다. 여기서는 참조를 반환하지 않았다. 왜냐면 tmp는 지역변수니까 이 안에서 동작하고 리턴값 내고 없어지는 ..

수업/C++ 2024.11.25

7.클래스와 객체 -임시객체,묵시적형변환,위임생성자 ,초기화리스트생성자

위와 같이 생성자를 직접 함수에서 호출하는 형식은 클래스의 임시객체를 생성하고문장실행후 소멸한다.    @묵시적 형변환mul(10.0)을 호출했을때mul함수는 double형을 받지 못하므로 묵시적 형변환을하는데 이때 생성자를 참고한다r=10,  i=0으로 묵시적 형변환하여 Complex1(10, 0) 이 mul의 매개변수로 들어감  위임생성자멤버 초기화 리스트에 클래스의 다른 생성자를 사용하여 새로운 생성자를 선언할 수 있음위임생성자는 클래스의 다른 생성자를 이용하여 선언되는 생성자임초기화 리스트 생성자{.. }중괄호를 이용해서 호출하면 초기화리스트 생성자임

수업/C++ 2024.11.25

트리 정리

노드의 차수: 어떤 노드가 가지고 있는 자식노드의 개수트리의 차수: 트리가 가지고 있는 노드의 차수 중 가장 큰 값루트의 레벨 : 1트리의 높이: 트리가 가진 최대 레벨 쓰레드트리 스레드라는 포인터를 갖는 이진트리 스레드 : 정해진 순회 방법에 따른 방문 순서를 유지하는 포인터오른쪽스레드 : 정해진 순회 순서에 따른 그 노드의 후속노드를 가리킴왼쪽스레드 : 그 노드의 선행 노드를 가리킴  합병정렬: 차례로 정렬한 데이터 리스트 k개를 완전한 순서를 유지하는 하나의 리스트로 만드는 과정선택트리 : 합병정렬에 사용하는 특수한트리  히프(Heap) 조건 - 부모노드가 자식노드보다 크거나(최대힙)  작다(최소힙)   -  (같아도 된다고 한다)- 완전이진트리이다.  즉 왼쪽부터 노드가 차례대로 채워져야함 히프의..

수업/자료구조 2024.11.17

외부에서 서버 postgreSQL 접속가능하게 하기

1. 방화벽가서 인바운드포트로 5432를 연다2. postgreSQL폴더 data폴더안에 있는 pg_hba.conf 파일에서# IPv4 local connections: host    all             all             127.0.0.1/32            scram-sha-256부분을0.0.0.0/0 으로 접속가능한 ip를 열어준다https://sujinisacat.tistory.com/9 윈도우서버에서 PostgreSQL 외부접속 가능하게 설정하는 방법# 윈도우서버에서 PostgreSQL 외부접속 허용하기 사실 실무에서 대부분 DB서버와 웹서버를 물리적으로 같은 서버에 두진 않을 것이다. 그래서 이번엔 SET ROLE 사용법과 DATABASE, TABLE 만들기에 앞서 Po..

배포 2024.11.14

윈도우 빌드파일 실행 바로가기 만들기

Windows 바탕화면에 JAR 파일을 실행하는 아이콘을 만들려면 바로 가기를 생성하면 됩니다. 바로 가기를 만들고 해당 아이콘을 클릭하면 JAR 파일이 실행됩니다.단계별 방법바로 가기 만들기바탕화면에서 오른쪽 클릭 > 새로 만들기 > 바로 가기를 선택합니다.대상 입력항목 위치 입력 창이 나타나면 다음과 같은 명령을 입력합니다:java -jar "C:\경로\to\yourfile.jar"예: java -jar "C:\Users\username\Desktop\myapp.jar"여기서 java는 JAR 파일을 실행하는 Java 명령어이며, -jar 옵션은 JAR 파일을 지정하는 데 필요합니다.중요: java 명령이 정상적으로 인식되려면 Java가 설치되어 있어야 하고, Java의 경로가 환경 변수에 추가되어 ..

배포 2024.11.14

윈도우에서 특정 프로그램 자동 실행하는 방법

Windows 11에서 컴퓨터가 켜질 때마다 JAR 파일이 자동으로 실행되게 하려면 **작업 스케줄러(Task Scheduler)**를 사용해 시작 시 자동으로 실행되도록 설정할 수 있습니다.설정 방법: 작업 스케줄러를 사용하여 자동 실행 설정작업 스케줄러 열기Windows 검색창에 작업 스케줄러를 입력하고 열어주세요.새 작업 만들기작업 스케줄러 창 왼쪽에서 작업 스케줄러 라이브러리를 선택하고, 오른쪽의 작업 만들기를 클릭합니다.일반 탭 설정이름: 작업 이름을 입력합니다 (예: 자동 JAR 실행).설정: 가장 높은 권한으로 실행을 선택합니다.사용자 계정: SYSTEM 계정으로 실행되도록 설정합니다."사용자 또는 그룹 변경"을 클릭한 다음, NT AUTHORITY\SYSTEM으로 설정합니다.(개체이름에 S..

배포 2024.11.14

5,6 클래스와 객체 (const, 생성자,소멸자,rvalue참조,static)

const 멤버함수, const 객체데이터멤버의 값이 변하지않는 멤버함수에 대해서는 const키워드를 지정해줄 수 있다. (안해줘도 문제는 없지만 문제가되는경우가 있음) int getValue() const { return value; }에서 **const**는 멤버 함수가 해당 객체의 멤버 변수들을 수정하지 않도록 보장하는 역할을 합니다. 이 const 한정자는 함수 선언의 끝에 위치하며, 이 함수가 객체의 상태를 변경하지 않는다는 것을 의미합니다. 상수 객체의 의미const Counter c;에서의 **const**는 객체 c가 상수 객체임을 나타냅니다. 즉, 객체 c의 상태를 변경할 수 없도록 보장합니다.const 객체는 선언된 후 멤버 변수 값을 변경할 수 없습니다. 따라서, 모든 멤버 함수 중 ..

수업/C++ 2024.11.13

14,15 그래프

G(V,E)V:정점(vertex)E :간선(edge)  무방향그래프의 정점쌍 {v1,v2}     - 순서가 상관이 없음. 방향그래프의 간선 순서쌍 (v1,v2)  - 순서가 있음 v1 ->v2    경로 길이 : 경로에 있는 간선의 수단순 경로 : 경로상에 있는 모든 정점이 서로 다른 경로기본 경로: 경로상에 있는 모든 간선이 서로 다른 경로 ( 자기자신으로 되돌아오는것도 경로로 봄) 사이클: 출발점과 도착점이 동일한 단순경로 무방향그래프 차수: 정점에 연결된간선들의 개수방향그래프 차수: 진출차수와 진입차수의 합 루프: 간선의 시작점과 끝점이 같은 정점의 길이가 1인 경로 - 사이클에 포함이 됨DAG: 방향이있는 무사이클그 래프  그래프 탐색  깊이우선탐색DFS-스택을 사용하여 가장 최근에 선택의 지점..

수업/자료구조 2024.11.10

12,13 멀티웨이 탐색 트리

m원 탐색트리    - 자식노드를 m개 까지 가질 수 있는 트리  - 같은 수의 노드를 갖는 이진탐색트리보다 낮은 높이의  m원 트리  - 하나의 노드에 여러개의 키값을 가져서 자식노드를 여러개 갖음 (3원탐색트리는 키값 2개 필요)왼쪽 서브트리는 86보다 작은 애들중간에는 86보다크고 90보다 작은애들오른쪽서브트리는 90보다 큰 애들로 만든 서브트리m원 트리는 서븥트리의 균형은 고려하지않음  B 트리m원탐색트리를 개선한 B트리는 인덱스 구조를 구현하는데 가장 일반적으로 활용함  . 전체적으로 균형을 유지-루트와 잎노드를 제외한 트리의 각 노드는 최소 [m/2] 개의 서브트리를 갖는다.- 트리의 루트는 최소한 2개의 서브트리를 갖는다- 트리의 모든 잎 노드는 같은 레벨에 있다.B* 트리 - 노드의 2/3..

수업/자료구조 2024.11.10

10.선택트리, 숲, 이진트리개수 11.이진탐색트리(BS),Splay,AVL,BB

선택트리 승자트리  - 각 노드가 두 자식노드의 작은값을 갖는 완전이진트리- 작은 값이 승자가 되어 올라가는 토너먼트와 유사- 루트값이 트리에서 가장 작은 값이 됨 11이 삭제가되면 24가 22랑 겨뤄서 작은값이 올라오면 된다.   패자트리-루트노드위에 최상위 0번 노드를 놓음 - 최종승자를 저장함-잎 노드들이 각 리스트의 head를 가리킴-트리의 각 내부노드에는 승자가 아닌 패자를 저장함-패자를 부모노드에 저장(큰값) 승자는 부모의 부모노드로 올라가서 다시 경쟁)-루트에는 마지막 패자(두번째 작은 값)를 저장하고 최종승자(가장 작은값)를 0번 노드에 저장 두개 비교해서 작은애가 승자니까 큰값은 적고 작은애를 올려보냄 즉  한번 더올라감(부모의 부모로) 0번 노드에 최소값이 있으므로 이 값을 제거하여 전..

수업/자료구조 2024.11.10