분류 전체보기69 자료구조 스터디 5주차 5-1) 그래프노드와 엣지의 집합 유니온 파인드그래프의 사이클이 생성되는지 판별하는 알고리즘위상 정렬사이클이 없는 방향 그래프에서 사용가능.그래프의 노드들을 선형으로 정렬. 정렬 결과가 꼭 한개는 아님 ex)수강신청다익스트라시작점이 존재하고 그 노드에서 다른 모든 노드로 가는 최단 거리를 구하는 알고리즘.단 음수 간선은 있으면 안됨 =>최단거리 알고리즘 벨만-포드다익스트라 알고리즘인데 음수 간선이 가능함. 음수 사이클이 존재하는가=>최단거리 알고리즘 플로이드-워셜벨만 -포드 알고리즘 인데 시작 노드가 없음. 즉 모든 노드 사이의 최단거리 측정. (시간복잡도가 안좋음)=>최단거리 알고리즘 최소 신장 트리 mst. 그래프에서 최소의 가중치 합으로 모든 노드를 연결할 수 있게 해주는 알고리즘. 사이클이 없.. 2024. 5. 18. java 5주차 5-1) 반복반복문이 사용되는 이유: 반복적인 수행을 간결하게 작성하기 위해. 특정 코드를 반복해서 실행할 때 사용된다. 반복문에는 while 과 for 문이 존재함 5-2) while문 1while(조건){문장} 조건을 확인하고 조건이 충족될 경우 블럭 속 문장이 시행된다.조건이 만족되지 않을 경우 루프가 계속 실행된다. 5-3) while문 2문제) 숫자가 1씩 증가할때 1,2,3, 덧셈 식을 바꾸고 싶을 때 변경해줄 변수가 적다는 것이 장점 문제)i 부터 end까지 num 개 더하는 식 10 부터 1씩 증가하는 숫자를 3개 더해주는 루프10+11+12=33임 확인 가능 5-3)do while문while문과는 다르게 조건을 만족하지 않아도 한번은 문장을 수행함. do{ 문장}while.. 2024. 5. 17. 자료구조 스터디 4주차 4-1)소수 구하기 핵심 이론소수: 1과 자기 자신 외 약수가 존재하지 않는 수 기본 원리에라토스테네스의 체:1. 구하고자 하는 범위만큼 1차원 배열 생성2. 2부터 시작하고 현재 숫자가 지워지지 않을 때 현재 선택된 숫자의 배수에 해당하는 수를 배열에서 끝까지 탐색하며 지움.이때 처음 선택한 숫자는 지우지 않는다.3. 배열의 끝까지 반복해준 후 배열에남아 있는 모든 수 출력이중 for문을 사용하므로 시간 복잡도는 N^2최적화 정도에 따라서 실제 속도는 n(log(logn))임.배수 삭제 과정에서 바깥쪽 for문을 생략하는 경우가 빈번하게 발생하기 때문에라토스테네스의 체는 소수를 구하는 일반적 방법으로 이용된다. 4-2)오일러 피자주 등장하지는 않음오일러 피 함수 p(n)의 정의는1부터 n까지의 숫자중.. 2024. 5. 15. java 스터디 4주차 4-1)조건문 특정 조건에 따라 다른 코드를 실행하는 문장조건문을 만족하면 블럭 안 문장이 실행되고 아닌 경우 else가 실행되거나 else문이 없는 경우 다음 문장으로 넘어간다. 4-2)else-if문여러가지 케이스가 존재하는 경우 사용된다.if문의 나열을 통해서도 케이스를 검사할 수 있지만 그럴 경우 코드가 불필요하게 길어지고 앞에서 검사한 부분을 뒤에서 다시 검사하게 되는 상황이 발생하게 된다.이 상황에서 결과를 중복 확인하는 상황을 피하기 위해 else if문 사용.else문은 있어되 되고 없어도 된다.4-3)if문과 if-else문 if(조건)...if(조건) 각각의 조건을 서로에게 영향을 받지 않고 검사하는 경우 if(조건)...else(조건)각각의 조건을 검사하되 공통되는 부분의 검사는 .. 2024. 5. 15. 이전 1 ··· 10 11 12 13 14 15 16 ··· 18 다음