본문 바로가기
728x90

분류 전체보기480

하루를 시작하기 전 다짐#7 안녕하세요 옆집컴공생입니다. 오늘은 학교를 올라오는 버스 안에서 성추행 사건이 발생했어요ㅠ 그래도 당찬 여성분이셔서 소리를 크게 지르시고 버스아저씨도 버스를 세워주셔서 경찰에 무사히 이송할 수 있었답니다. 제가 목격자였으면 좋았을텐데 보지를 못해서 도와드릴 수 없었던 점이 죄송하네요ㅠ 나쁜 사람 다 잡혀가야하는데요... 그 분도 충격이 크지 않으셨으면 ..ㅠㅠ 하아 어쨌든 오늘 하루도 열심히 살아야겠죠. 저는 오늘 연구실 잡일을 하고 수업도 다 있는 날이라 바쁠거 같아요. 그리고 저녁에 반년동안 못 본 동기 친구와도 식사가 있어서..(동기인데 코로나 때문에 반년동안 못 만났어요 0 ㅡ 0) 오늘 할일 1. 연구실 잡일 최대한 많이 하기 2. 나동빈님 영상보기 3. 수업 잘 듣고 복습 잘하기 4. 파이썬 .. 2020. 6. 2.
12살 천재 어플제작 소년 이야기 https://www.youtube.com/watch?v=aREmfTjeKbI&list=PLVK_NxDpUAr2l0OH5tnpD_bLW9K-84C8g&index=5 12살이라 ...저는 12살 때 친구들과 학교 계단에 앉아서 4반에 누구랑 누가 사귄다. 이런 이야기만 했었는데 말이죠. 이 아이는 기술에 관심이 많아서 앱을 만들고 싶어했고 아이폰과 함께 출시된 아이폰 소프트웨어 개발 키트를 통해 앱 개발을 시작했다네요. 그리고 만든게 오늘의 운세를 지구의 색깔로 보여주는 지구 운세 앱, 저스틴비버의 얼굴(?)을 이용한 두더지 앱 개발이었습니다. 부모님을 설득해서 앱을 출시했고 학교에서 앱 클럽을 만들고 선생님을 비롯한 많은 이들에게 피드백을 들으면서 앱 개발을 했고 수익금을 지역사회에 기부하기도 한다네요... 2020. 6. 1.
계수 정렬(Counting Sort) 이때까지 배운 O(N log N)의 시간복잡도인 선택, 버블, 삽입 정렬 그리고 O(N^2)의 시간복잡도인 퀵, 병합, 힙 정렬을 배웠습니다. 가장 빨랐던 정렬은 아무래도 퀵정렬이었는데요. 이거보다 빠르게 정렬을 하는 계수 정렬에 대해 알아보겠습니다. 다음의 5 이하 자연수 데이터들을 오름차순 정렬하세요. 1 3 5 2 3 1 3 4 4 3 4 2 3 4 3 1 1 2 4 3 3 1 2 3 4 5 1 3 2 4 정렬할 데이터 개수가 30개입니다. 특징은 모든 데이터가 1부터 5 사이입니다. 계수 정렬은 이처럼 적절한 '범위 조건'이 있어야한다는 전제에서 굉장히 빠른 알고리즘입니다. 그 속도는 O(N) 입니다. ( 저도 처음보는 시간복잡도의 속도입니다.) 계수 정렬(Counting Sort)는 단순하게 '.. 2020. 6. 1.
힙정렬 저번주에 공부하긴 했지만 이해하는데 좀 시간이 걸리는 바람에 지금 포스팅합니다. 힙정렬은 퀵정렬과 병합정렬과 더불어 시간복잡도 O(nlogn) 을 가진 정렬입니다. 힙정렬을 이해하기 위해서는 완전 이진 트리를 이해해야하는데요. 이진 트리는 자식노드가 두개 이하 트리를 의미합니다.. 여기서 가장 위에 있는 7은 루트노드(root)입니다. 그리고 8과 5의 부모노드입니다. 2와 3은 8의 자식노드입니다. 가장 밑 부분인 2 3 1 2 는 리프노드(leaf)라고 합니다. 트리는 다양하게 생길 수 있습니다. 이런식도 가능합니다. 그 중에서 이진 트리는 자식노드가 두개 이하인 트리이고 완전 이진트리는 자식노드가 두개인 트리를 의미합니다. 간단하죠? 힙은 이런 완전 이진트리를 사용합니다. 한번 트리를 만들어 볼까요.. 2020. 6. 1.
728x90