목록알고리즘 (7)
W 개발 일지
버블 정렬 알고리즘 첫번째 데이터와 두번째 데이터를 비교하고 두번째와 세번째 데이터를 비교하고 세번째와 네번째를 비교해 (중략) 1회전 반복이 끝나면 가장 큰 데이터가 맨 뒤로 가기 때문에 모든 반복을 돌고나면 오름차순 정렬이 되는 알고리즘이다. 1 2 3 4 5 6 7 for(i=0 ; i
삽입 정렬의 기본적인 연산은 데이터가 정렬되어 있을 때 이들 데이터 사이의 적당한 위치에 맞는 데이터를 삽입하는 것이다. 데이터를 삽입하고 난 뒤 그보다 오른쪽에 있던 데이터는 오른쪽으로 하나씩 자리를 옮겨줘야 한다. 삽입 정렬은 두 번째 데이터부터 정렬을 시작해 그 앞에 있는 데이터와 비교하고 삽입할 위치를 찾은 뒤 삽입할 위치의 공간 확보를 위해 데이터를 오른쪽으로 옮겨준 뒤 삽입하게 된다. 1 2 3 4 5 6 7 8 9 for(i=2 ; i
단순 정렬 알고리즘 1 2 3 4 5 for(i=1 ; i
Union-Find 알고리즘 : 정점으로 구성된 집합을 관리하는 방법으로 집합의 합병과 요소가 어떤 부분집합에 속하는가를 판정하는 두 가지 연산. find 연산으로 특정 원소들을 집합 안에 있는지 없는지 판별하고, 없다면 두 원소들이 속한 트리들을 합병한다. Union = 2개의 원소로 이루어진 집합을 합치는 연산. = 합집합 Find = 특정 원소가 속한 집합을 찾아주는 연산. 총 세 가지 방법이 있다. 첫번째 방법 : 부모 노드 활용 Find 연산 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 //자기 자신을 가지는 노드로 초기화. void initgroup() { for(i=0;i 1 -> 2 -> 3 -> 5 -> 10 -> 13 Find 연산 연결리스트의 검색 연산으로 찾으려는..
이번에 임의의 숫자를 입력받아 그 수 만큼 While문을 이용하여 만들어 볼 삼각형의 모양은 이렇다. * ** *** **** ***** cs 사실 *별로 삼각형 찍기는 for문을 이용하는 것이 코드를 봤을 때도, 만들 때도 이해하기가 쉽다. 하지만 for문으로 만들 수 있는 것은 While문으로도 만들 수 있다. 먼저 완성된 코드는 아래와 같다. #include int main() { int i,j,k,num; scanf("%d",&num); while(i
* ** *** **** ***** cs 저번 글에서는 위와 같은 모양의 삼각형 만들기를 설명했었다. tildacoderecorder.tistory.com/1?category=918749 C언어 - While문 이용하여 * 별로 삼각형 만들기 만들고자 하는 삼각형의 모양은 임의의 숫자를 입력받아 그 숫자만큼의 크기의 삼각형을 만들어내는 것이다. 숫자가 5라면 아래와 같은 삼각형이 나와야 한다. * ** *** **** ***** 코드를 짜면 다음� tildacoderecorder.tistory.com 이번 글에서는 거꾸로 위에서 부터 아래로 별이 적어지는 삼각형을 만들 것이다. 다만 임의의 숫자를 입력받아 삼각형의 크기를 정할 것이다. ***** **** *** ** * cs 이 삼각형은 5를 입력받아 ..