post-thumbnail

[자료구조] 탐색(Search) 1 - 이진 탐색 트리 (11-2-4) - 삭제 - 2

이를 구현 하기 위해 BinaryTree2.h,c에 다음 4개의 함수를 추가로 선언 및 정의하자 우선 BinaryTree2.c 는 이진 탐색 트리 구현에 충분한 도구가 되지는못하는데 그 이유는 다음 두 가지이다. 노드의 제거에 대한 기능이 정의되지 않았다.MakeLef

약 3시간 전
·
0개의 댓글
post-thumbnail

[자료구조] 탐색(Search) 1 - 이진 탐색 트리 (11-2-3) - 삭제 - 1

이제 대망의 삭제에 대해 배워보자 ! 위 그림에서 8을 삭제한다고 하면 삭제 한 후 이 자리를 누군가 대신 채워여만 이진 탐색 트리가 유지되므로 어떻게 이 빈자리를 채워야 할지가 이진 탐색트리의 삭제가 어랴운 이유중 하나이다.단말노드라면 그저 삭제하면 되지만 아니라면

약 5시간 전
·
0개의 댓글
post-thumbnail

[자료구조] 탐색(Search) 1 - 이진 탐색 트리 (11-2-2) 탐색

자 ! 이제 이어서 탐색을 담당하는 BSTSearch 함수를 보자 ! 탐색의 과정은 삽입의 과정을 근거로한다 ! while 문에서 비교대상의 노드보다 값이 작으면 왼쪽/크면 오른쪽으로 이동 하고 있다.이렇게 반복문안에서 계속해서 이동하다가 target==cd가 되면 r

약 6시간 전
·
0개의 댓글
post-thumbnail

[자료구조] 탐색(Search) 1 - 이진 탐색 트리 (11-2-2) 삽입

구현에 앞서 우리는 구현방법을 결정해야 한다.다음 두 가지중 한가지 방법을 선택하자 ! 구현 방법 1 이전에 구현한 이진 트리를 참조하여 처음부터 완전히 다시 구현한다. 구현 방법 2 이진 탐색트리도 이진 트리이니, 이전에 구현한 이진 트리를 활용하여 구현한다. 첫번째

약 22시간 전
·
0개의 댓글

변수를 재활용하지마라

이 코드의wormSegmentRect를 컴퓨터 메모리를 아끼기위해 재활용한다면 로 작성하면 wormSegment 변수는 앞서 사용하고 그 이후로 사용안하므로 재활용하여 변수를 하나 덜 쓰면 메모리를 아낄 수 있다!! 하지만!!! 이렇게 하면 정말 "몇

약 23시간 전
·
0개의 댓글
post-thumbnail

[pygame] 워미- 니블클론게임 - 3

후.. 드디어 다 만들었다.우선 전체 코드를 보여주겠다. 이르케 빙글빙글 돌면서 시작한다 . 벌레가 돌아다니며 사과를 냠냠 벽에 박으면 .. 게임 오버 한다. 이제 플레이 영상을 보여주겠다. 보러가기 이제 다음은 .. ! 테트리스 클론게임 테트로미노를 만들어보자

약 23시간 전
·
0개의 댓글
post-thumbnail

[pygame] 워미- 니블클론게임 - 2

계속 해서 다음 함수들을 써내려가자 ! Game Over 화면에 글씨를 보이고 플레이어가 너무 빨리 눌러서 화면을 못보는 것을 방지하기 위해 time.wait() 함수를 호출해서 0.5초를 기다린다.다음 checkForKeyPress() 를 호출해서 showGameOv

약 23시간 전
·
0개의 댓글
post-thumbnail

[pygame] 워미- 니블클론게임 - 1

이제 4번째 게임 워미를 만들어보자 !워미가 뭔지 아는가!바로 니블게임의 클론으로 이름을 지은것이다!그렇다면 니블게임은 아는가!플레이어가 벌레를 조종하며 무작위로 나타나는 사과를 먹으면서 커가는 게임이다!사과를 먹으면 커지고 벽을 만나면 게임오버!이런 게임이당! 플레

약 24시간 전
·
0개의 댓글
post-thumbnail

[자료구조] 탐색(Search) 1 - 이진 탐색 트리의 조건 - 11-1 문제

앞서 이진 탐색 트리의 노드에 저장된 키는 유일하다.루트 노드의 키가 왼쪽 서브 트리를 구성하는 어떠한 노드의 키보다 크다.루트 노드의 키가 오른쪽 서브 트리를 구성하는 어떠한 노드의 키보다 작다.왼쪽과 오른쪽 서브 트리도 이진 탐색 트리이다.을 설명했다그리고왼쪽 자식

3일 전
·
0개의 댓글
post-thumbnail

[자료구조] 탐색(Search) 1 - 이진 탐색 트리 (11-2)

이진 트리의 구조를 보면, 트리는 탐색에 효율적이라는 사실을 쉽게 알 수 있다. 저장된 데이터의 수가 10억 개 수준에 이른다 해도!!트리의 높이는 30을 넘지 않기 때문이다!!우리가 찾는 데이터가 리스트의 정중앙에 위치한다는 정보를 가지고 있음에도 10억개의 노드중

3일 전
·
0개의 댓글
post-thumbnail

[자료구조] 탐색(Search) 1 - 탐색의 이해와 보간 탐색(11-1)

탐색의 이해 탐색 다시말해서 "데이터를 찾는 방법"이다. >탐색은 트리의 뒷 이야기에 해당한다. 탐색은 알고리즘보다 자료구조에 더 가까운 주제이다! 이유는 >"효율적인 탐색을 위해서는 "어떻게 찾을까"만을 고민해서는 안되고 "효율적인 탐색을 위한 저장방법이 무엇일까"

3일 전
·
0개의 댓글
post-thumbnail

[자료구조] 복잡하지만 효율적인 정렬 알고리즘 10-2(기수 정렬) - 2

앞서 설명한 LSD와 반대로MSD는 Most Significant Digit의 약자로써 가장 중요한 자릿수, 다시말해서 가장 큰 자릿수부터 정렬이 진행된다는 의미를 담고 있다."그럼 LSD와 방향만 다르고 정렬과정은 같나요!?" 안타깝지만.. 아니다..이를 확인하기위해

3일 전
·
0개의 댓글
post-thumbnail

[pygame]시뮬레이트(Simulate) - 3

우선, 전체코드를 보이겠다.음원 파일은 첫번째포스트로 가면 링크가 있다.자 실행해보자 ! 이런식으로 소리와 함께 타일이 반짝~ 인다! 사진으로는 보여주는데 한계가 있어서플레이영상을 보여주겠다!플레이 영상 보러가기이제 다음 게임으로 찾아오겠다 !

3일 전
·
0개의 댓글
post-thumbnail

[pygame]시뮬레이트(Simulate) - 2

그럼 이제 이어서 메인함수에서 활용하는 함수들을 구현하자 ! 앞선 게임에서 본 함수들이니 설명은 주석으로 대체하겠다.Color 파라미터로 어떤 값을 전달 했느지에 따라 소리,색 등등이 달라진다. 애니메이션의 각 프레임에서 보통의 게임판을 그린 다음 밝은색의 버튼을 이전

3일 전
·
0개의 댓글
post-thumbnail

[pygame]시뮬레이트(Simulate) - 1

이제 세번째 게임 시뮬레이트 게임을 만들어보자.이름만 보면 뭔게임이지?하는 생각이 들것인데 이것도 마찬가지로 플레이해보면 아하! 아니 설명만들어도 아하 ! 할것이다.시뮬레이트는 플레이어가 화면에 무작위로 나타난 색이 다른 네 버튼의 순서를 기억하고 있다가 맞히는 게임이

3일 전
·
0개의 댓글
post-thumbnail

[자료구조] 복잡하지만 효율적인 정렬 알고리즘 10-2(기수 정렬) - 1

퀵 정렬까지 알고 나면 그 나름의 만족감에 더 이상의 정렬 알고리즘에는 관심이 가지 않는 다는 말이 많다!하지만! 기수 정렬 알고리즘은 다음과 같은 특징이 있다."정렬 순서상 앞서고 뒤섬의 판단을 위한 비교연산을 하지 않는다."비교연산은 정렬 알고리즘의 핵심이다.특히!

4일 전
·
0개의 댓글
post-thumbnail

[자료구조] Median of three - 퀵 정렬

printf 를 추가해주면 선택된 피벗이 무엇인지, 정렬과정에서 몇 개의 피벗이 선택되었는지 확인할 수 있다.이와 같이 ! 선택된 피벗의 수는 정렬의 효율을 가늠하는 기준이 된다. 그럼 다음 배열로 설정해보자 . int arr15 = {1,2,3,4,5,6,7,8

4일 전
·
0개의 댓글
post-thumbnail

[자료구조] 복잡하지만 효율적인 정렬 알고리즘 10-2(퀵 정렬)

이번 퀵 정렬도 앞서 본 병합 정렬과 마찬가지로 "분할 정복"에 근거하여 만들어진 정렬 방법이다.실제로 이 또한 정렬대상을 반씩 줄여나가는 과정을 포함한다."퀵 자가 들어가는 걸 보면 제법 빠른 정렬인가봐요..? 그럼 그만큼 어렵겠쥬..?" 라는 생각을 할수 있지만 아

4일 전
·
0개의 댓글
post-thumbnail

[자료구조] 복잡하지만 효율적인 정렬 알고리즘 10-2(병합 정렬)

병합 정렬은 "분할 정복" 이라는 알고리즘 디자인 기법에 근거하여 만들어진 정렬 방법이다.분할 정복이란, 말 그대로 복잡한 문제를 복잡하지 않은 문제로 분할하여! 정복! 하는 방법이다.단!! 분할을 하고 정복까지 했으니 결합의 과정을 거쳐야 완성된다1 단계 분할 : 해

5일 전
·
0개의 댓글
post-thumbnail

[자료구조] 복잡하지만 효율적인 정렬 알고리즘 10-2(힙 정렬)

앞서 소개한 단순한 정렬 알고리즘은 정렬대상의 수가 적은 경우 효울적으로 사용할 수 있지만 정렬 대상의 수가 적지 않은 경우에는 아니다!그러므로 우리는 이 경우에서도의 만족스러운 결과를 보장하는 알고리즘이 필요하다.제목만 복잡하지만..이지! 사실상 앞서 설명한 정렬들이

5일 전
·
0개의 댓글