Dorothy_YANG
With Dorothy
Dorothy_YANG
전체 방문자
오늘
어제
  • 분류 전체보기 (279)
    • Hi, I'm Dorothy 🕵️‍♂️ (21)
      • Slowly but Surely (18)
      • IT certifications (3)
    • 🤯TIL (80)
      • HTML & CSS (2)
      • Javascript & jQuery (13)
      • React (13)
      • C언어 (1)
      • JAVA (22)
      • Python (2)
      • Oracle SQL (10)
      • My SQL (5)
      • Spring (12)
    • 💻Programmers (17)
    • 🏫 Open API_JAVA (101)
    • 🌎 Project (10)
      • Shopping (10)
    • 💥 Error (24)
    • ⚙ Setting (23)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • 파이썬온라인
  • CSS
  • 백준
  • 기간설정
  • SQLD합격후기
  • 코딩앙마
  • HTML
  • 서버등록
  • 비쥬얼스튜디오코드
  • 콜라보레이토리
  • AllArgsConstructor
  • googlecolaboratory
  • sql기간
  • colaboratory
  • Javascript
  • 기간쿼리
  • 오류해결
  • 창초기화
  • 연습문제
  • spring
  • Database
  • 노마드코더
  • Eclipse
  • 이것이자바다
  • SQL
  • oracle
  • 독학후기
  • java
  • 시작일종료일
  • SQLD합격

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Dorothy_YANG
🏫 Open API_JAVA

[18일차] 알고리즘 / 버블 정렬

[18일차] 알고리즘 / 버블 정렬
🏫 Open API_JAVA

[18일차] 알고리즘 / 버블 정렬

2022. 8. 17. 19:23
728x90

20220812(금)

  • 목차
    - 알고리즘
    - 버블 정렬

< 알고리즘 >

  • 의미
    : 데이터에 관한 문제를 해결하는 방법(n가지) 

  • 알고리즘 성능 평가
    방법이 많은데 어떤 게 좋은거지? ➡ 성능평가를 해서 좋은 것을 사용하려고 한다.
    알고리즘이 주어진 문제를 해결하는데 걸리는 시간과 데이터 입력량의 함수 관계를 해석하는 과정

  • BigO : 최악의 경우를 기준으로 정확하게 보는게 아니라 패턴으로만 보겠다. (어떤 것이 더 좋은 알고리즘인지)

 

https://medium.com/@callmedevmomo/%EC%9B%B9-%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%EC%99%80-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-01-%EB%B9%85%EC%98%A4-%ED%91%9C%EA%B8%B0%EB%B2%95-ff369f0efc1d


< Bubble Sort 정렬 >

  • bubble sort
    - 앞에서부터 두 수를 비교, 큰 수가 뒤로 가는 형식으로 맨 뒷자리 부터 큰 수가 채워지게 된다.

출처 :&nbsp;https://medium.com/austins-software-engineering-journey/bubble-sort-b2f0d63e38f7

더보기
        // [선생님 풀이]
        // asc = ture : 오름차순 , asc = false : 내림차순
        // ...ar은 파라미터를 한방에 배열로 만들어준다. 가변파라미터
        const bubblesort = function(asc, ...ar)
        {
            let arr;
            let temp = 0;

           // 1. type1이 오던 type2이 오던 type1로 맞추자.
           console.log(typeof(ar[0]));
 
           // 배열의 0번째가 넘버라면 ar값을 arr에 넣어라
           // 근데 이건 배열안의 배열이기에 [44,33,22,55,11]이게 0번째값이 됨
           if (typeof(ar[0]) === 'number')
           {
                arr = ar; // arr에 [44,33,22,55,11] 이값을 넣어라

           }
           else
           {
                arr = ar[0]; // arr[44,33,22,55,11] 이값의 0번째 값인 44를 넣어라
           }

           //arr로 버블소트를 진행
           for ( let i = 0; i < arr.length -1; i++)
           {
                for(let k = 0; k < arr.length -1 - i; k++)
                {
                    if( asc === true)
                    {
                        if (arr[k] > arr[k + 1])
                        {
                            tamp = arr[k];
                            arr[k] = arr[k + 1];
                            arr[k + 1] = tamp;
                        }
                    }
                    else // false인경우 아래 코드 실행
                    {
                        if (arr[k] < arr[k + 1])
                        {
                            tamp = arr[k];
                            arr[k] = arr[k + 1];
                            arr[k + 1] = tamp;
                        }
                    }
                }
           }
           // 이 리턴은 for문의 arr값이 아님 스택에 위치하고있는 arr값을 리턴시키는것임
            return arr;
        };

        console.log(bubblesort(true, [44,33,22,55,11])); // type1 // false를 쓰면 내림차순으로 적용된다.
        //bubblesort([44,33,22,55,11]); // type2

        let a = [1,2,3,4];
        let b = [[1,2,3,4]];
        let c = b[0];

        b[0][1] = 77;

        console.log(c[1]);

 

728x90
저작자표시 (새창열림)

'🏫 Open API_JAVA' 카테고리의 다른 글

[21일차] 개인 프로젝트 기획안 피드백 / 가이드 코딩  (0) 2022.08.18
[19~20일차] DOM / 프로젝트 기획안  (0) 2022.08.17
[17일차] Scope / 호이스팅 / 문서 객체 / Event  (0) 2022.08.12
[16일차] new 연산자 / prototype / JSON / Math.@  (0) 2022.08.10
[15일차] 객체지향 이론 / 객체형 / Object literal / JS 데이터타입  (0) 2022.08.10
  • < 알고리즘 >
  • < Bubble Sort 정렬 >
'🏫 Open API_JAVA' 카테고리의 다른 글
  • [21일차] 개인 프로젝트 기획안 피드백 / 가이드 코딩
  • [19~20일차] DOM / 프로젝트 기획안
  • [17일차] Scope / 호이스팅 / 문서 객체 / Event
  • [16일차] new 연산자 / prototype / JSON / Math.@
Dorothy_YANG
Dorothy_YANG
Slowly but Surely, 비전공 문과생의 개발공부

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.