4강 - 삽입 정렬(Insertion Sort) [ 실전 알고리즘 강좌(Algorithm Programming Tutorial) #4 ]

Поделиться
HTML-код
  • Опубликовано: 8 фев 2025
  • 4강 - 삽입 정렬(Insertion Sort) [ 실전 알고리즘 강좌(Algorithm Programming Tutorial) #4 ] 강의 동영상입니다.

Комментарии • 48

  • @progress0407
    @progress0407 4 года назад +12

    해당 부분 초기값이 {1, 10, ...} 이 아니라.. {10, 1, ...} 이런 식이면 오류가 납니다.
    아래와 같이 조건문을 삽입해 주는 것이 좋을 것 같네요.. ㅎㅎ
    while(data[j] > data[j+1]) {
    swap(j,j+1);
    print();
    j--;
    if(j < 0)
    break;
    }

  • @외국인노른자-s4z
    @외국인노른자-s4z 2 года назад

    아무것도 모르는상태로 무작정 1회 정독이나 해보자! 하는맘으로 보고있는데 초보자인 저에게 정말 잘 와닿는 설명에 감탄합니다 정말 감사합니다!!

  • @alexkim5440
    @alexkim5440 5 лет назад +6

    와근데.. 코딩속도 진짜 빠르네요..

  • @user-yv2dh3bp7e
    @user-yv2dh3bp7e 3 года назад

    오호라. 이제야 알았네여. 삽입정렬이 이런거였군요 추천!

  • @totokr20
    @totokr20 6 лет назад +14

    강의 항상 재밌게보고 있습니다!! 오늘 보다가 로직에 살짝 문제가 되는 부분을 발견해서 올려요... 만약 array가 {8,7,6}처럼 앞부분이 내림차순으로 되어 있으면 while루프 안에 j--로 인해 array의 인자가 -가 될 위험이 있어요. 아마 쓰래기 값이 출력될꺼에요...그래서 아래 if(j

    • @dongbinna
      @dongbinna  6 лет назад +4

      좋은 피드백 감사합니다. 말씀해주신 내용은 블로그에서 소스코드를 확인해보시면, 예전에 이미 수정 처리 되었습니다. 안타깝게도 동영상에는 반영이 안 되는 터라...

    • @totokr20
      @totokr20 6 лет назад

      이미 블로그에서는 뎃글에서도 명시되어있고 수정도 하셨군요ㅎ 다음에는 블로그도 확인해볼게요! 좋은 교육컨텐츠, 답변 감사합니다.

    • @jwb1392
      @jwb1392 5 лет назад +3

      계속 J-- 이면안될텐데... 왜지왜지 계속고민하다가 이댓글을 보고 마음이 후련

    • @누룽지-x4l
      @누룽지-x4l 4 года назад

      자바만 해본사람으로써 저도 보면서 array 인덱스 관련 예외가 날텐데 c언어는 알아서처리되나? 라고 생각했는데 아니었군요ㅋㅋ 다 필요없고 개발 취준생 입장에서 동빈나님 지식과 코딩 속도는 넘나 부럽습니다ㅠㅠ

  • @hibibi-U2T
    @hibibi-U2T 6 лет назад

    항상 잘 보고 있습니다

  • @bowrain7880
    @bowrain7880 4 года назад

    좋은 강의 감사합니다

  • @이민규-h9v
    @이민규-h9v 5 лет назад

    자바 듣고 알고리즘 공부하는데 생각보다 재밋네요

  • @user-kw7fz7wk9k
    @user-kw7fz7wk9k 6 лет назад

    열심히 배우겠습니다!

  • @sleepcycle_
    @sleepcycle_ 4 года назад +1

    갑슬 갑슬 갑슬 ~ 영상 잘봤어요! 감사합니다!

  • @신승열-p9e
    @신승열-p9e 6 лет назад +10

    보고 많이 배우고 있습니다~ 감사합니다. 근데 삽입정렬 코드에서 i=0일때 arr[0]이 arr[1] 보다 큰 경우 swap을 하고 j--를 하고 나면 arr[-1]에 접근하게 되는데 왜 segmetation falt가 안뜨는지 궁금하네요....

    • @한국남자평균
      @한국남자평균 8 месяцев назад

      i==0일 땐 while문이 많아도 한번 실행되니까 j-가 0이 되어도 while문 깨지고 i==1로 넘어가면서 다시 j가 초기화되어서 arr[-1]에 접근할 일은 없을 듯 해요

  • @__lazywatch8781
    @__lazywatch8781 5 лет назад

    정말 유익합니다

  • @xorbsdut
    @xorbsdut 5 лет назад

    잘봤어요!

  • @bear-dc2jv
    @bear-dc2jv 2 года назад

    정말 왕초보입니다 아무것도 모르고 독학중인... 선택정렬, 버블정렬에서는 for(i=0; i

  • @비밀-q7e
    @비밀-q7e 5 лет назад

    강의 감사드립니다~! 강의 수강중 질문이 하나있습니다! '정렬이 되어있는 상태'에서 삽입정렬이 가장 효과적이라고 하셨는데, 저는 가장 작은값을 맨 왼쪽으로 옮기는 선택정렬이 더 효과적이라 생각하는데, 혹시 이에대해서 한번 설명요청드려도될까요??

  • @Fed-f8c
    @Fed-f8c 4 года назад

    효율성측면에서 초보라서 이해하기 어려운데 저같은경우
    for(i=0; i

  • @자바몽
    @자바몽 4 года назад

    재미쩡

  • @김수연-b8i9w
    @김수연-b8i9w 4 года назад

    9:28☺️오타(?) 오발언(?) 발견 ㅎㅎ

  • @MonkeyCantClap
    @MonkeyCantClap 3 года назад

    궁금한게 j--만하면은 맨 첫번째 원소가 마지막 원소보다 크면은 안되지안한요 ? 이 코드는

  • @이종민-h6n
    @이종민-h6n 5 лет назад +2

    정말 궁금해서 그러는데 왜 '값이'를 '갚이' 라고 읽나요?

    • @이룸-m6c
      @이룸-m6c 4 года назад

      저도 내용이나 설명은 진짜 잘하는데 이거 너무 거슬리네요ㅋㅋㅋ
      갑플, 갑피, 갑플, 갑피, 갑플, 갑피, 갑플, 갑피, 갑플, 갑피 미춰버리겟넹

  • @Cg-bf7hz
    @Cg-bf7hz 3 года назад

  • @syp1799
    @syp1799 4 года назад +1

    코딩 초보여서 궁금한게 있습니다
    J-;는 왜 해주는 건가요??
    J=i;해주면 J값은 어차피 i값과 같게 되는것이 아닌가요??

    • @행복추구권-u8x
      @행복추구권-u8x 4 года назад

      저두 궁금함 j는 그냥 안쓰기 미안해서 쓴듯?

    • @현도-y2c
      @현도-y2c 4 года назад

      while(array[j]>array[j+1])
      {
      temp = array[j];
      array[j] = array[j+1]
      array[j+1] = temp;
      1 3 4 5 6 7 2
      이렇게 있다 치면, i=j=5까지 왔을때,
      2와 7 이 바뀌겠죠. 근데 j--;을 넣어줌으로써 i=j=4로 6과 2를 다시 비교해 버리는거에요
      그러면 array[j]>array[j+1]이게 아니게 될때까지 돌리면
      2는 array[1]자리에 오게되겠죠
      결론은 저런 숫자형태가 있을때 알맞은 위치까지 찾아가도록 하는거고,
      숫자가 정렬되있을수록 삽입정렬이 좋다는것도 이해가 가네요
      저도 방금 강의듣고 이해한거라 아닐수도 있어요!!

    • @junminpark6761
      @junminpark6761 4 года назад +2

      j=i를 해주었지만 엄연히 j와 i는 다른 값입니다.
      i는 선택정렬에서 어떤 값을 선택하여 옮길지를 정하는 것이고,
      j는 선택한 값을 어떤 값과 비교하며 이동할지를 정하는 것입니다.
      따라서 i는 for문 안에서 고정된 값을 갖게 되고,
      i를 전해 받지만 while문 안에서 j--를 통해 왼쪽으로 계속 이동하게 됩니다.

  • @CoxEmperor
    @CoxEmperor 6 лет назад +5

    삽입정렬은 존나 정렬 잘 되있으면 존나 빠름. 반대로 정렬이 존나 안되어있으면 존나 느림.

  • @anju3097
    @anju3097 4 года назад

    저거 포문 돌릴 때 굳이 i에 j를 넣는 이유 아시는 분 계신가요??

  • @행복추구권-u8x
    @행복추구권-u8x 4 года назад

    변수 j는 안써도 되져?

    • @김흰둥이-i9l
      @김흰둥이-i9l 4 года назад +2

      1 2 3 5 4 처럼 5와 4의 자리를 한 번만 바꾸면 되는 상황이라면 j는 필요 없을 겁니다
      하지만
      1 3 4 5 2 처럼 2의 자리를 여러번 바꾸려면 반복적인 작업이 필요합니다
      그래서 while문을 사용하고 array[ j ] > array[ j +1 ]을 비교 조건으로 넣은 겁니다
      1 3 4 5 2이면 4까지는 while값이 false기 때문에 while문을 넘길것이고
      5에서 while문이 실행 될 것입니다
      (1 3 4 5 2)
      array[3] > array[3 + 1] == 5 > 2 true
      1.자리를 바꾼다
      2. j를 1뺀다 3 -> 2
      (1 3 4 2 5)
      array[2] > array[2 + 1] == 4 > 2 true
      1.자리를 바꾼다
      2. j를 1뺀다 2- > 1
      (1 3 2 4 5)
      array[1] > array[1 + 1] == 3 > 2
      true
      1.자리를 바꾼다
      2. j를 1뺀다 1 -> 0
      (1 2 3 4 5)
      array[0] > array[0 + 1] == 1 > 2 는 false라 실행하지 않습니다
      그래서 최종적으로 (1 2 3 4 5)라는 결과를 얻을 수 있습니다

    • @junseo0115
      @junseo0115 2 года назад

      @@김흰둥이-i9l 궁금한게 있는데 그러면 j가 --를 해서 값을 계속해서 비교해가는 건 알겠습니다. 근데 j 대신에 i를 쓰면 i--를 할 때 i 값에 영향이 가서 그런 건가요? i--를 쓰면 for문에서 i++가 안되서 그런건가 궁금합니다. 결과값은 제대로 나와서 궁금해요

    • @현재를살자-o2y
      @현재를살자-o2y 2 года назад

      @@junseo0115 print로 찍어보면 아시겠지만 i가 초기화 되는 경우가 생겨 for문을 불필요하게 돌게되죠

  • @domic93
    @domic93 3 года назад

    잉 ㅠㅠ 언제까지 검사하는지 조건문 너무 당연한건데 왜 몰랏지요
    삽입정렬 틀렷뜸 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 으흐흐흑 빡대가리 돌대가리 ㅠㅠㅠㅠ
    아 끝까지 안보고할걸 ㅠㅠㅠ 잉 답변보지말걸 넘 후회댐

  • @담임목사-i6f
    @담임목사-i6f 4 года назад

    내가 빡통인가 버블정렬과 차이점을 자세히 말하라고 하면 못하겠네 앞부분을 이미 정렬되어있다 가정하는걸 이해 못한느낌이당..

  • @llliii6808
    @llliii6808 5 лет назад +1

    j = i 사용할 필요없이 이 문장 아래에서 j대신 모두 i 로 바꿔서 사용하면 되지않나요? 결과값은 동일하게 나오는데

  • @yoonjaekim8523
    @yoonjaekim8523 5 лет назад +4

    여기까지 이해하는데 1시간걸림.. 빡대가린가; ㅋㅋㅋ열심히하다보면잘해지겠지ㅜ

    • @xorbsdut
      @xorbsdut 5 лет назад

      Yoonjae Kim 전 5일 걸림.

    • @환이-f6w
      @환이-f6w 4 года назад

      인생 원래 그런거임 첨부터 잘하는 사람이 어딨음 하나하나 밟다보면 뒤돌아서는 순간 모든게 추억이다