우리 학교 1학년 2학기 전공 필수 과목인 고급 C프로그래밍 스터디의 멘토를 맡아 진행하게 되었다.1학년 학생들의 전공에 대한 흥미를 확대하고 다음 학기에 대한 예습과 개념 이해를 통해 프로그래밍 능력을 증진 시키고 공학인증에 어려움을 겪었던 우리 신입생들에게 도움을 주기 위한 스터디다. 포인터(1주) - 문자열(1주) - 구조체(1주) - 동적 할당(1주) 총 4주간 진행했다.강의 자료를 활용한 수업을 진행한 뒤 간단한 실습 문제를 풀이해준 후 몇가지 문제를 풀어보게 하고 숙제로 과제 문제도 부여했다.다음 수업에 과제 문제를 서로 어떻게 해결했는지 스터디원끼리 발표하고 다른 사람의 코드도 이해해보며 성장하는 시간을 가졌다. 스터디 내용들을 살짝 적어보자면, 요런 내용들로 진행했다.더보기메모리란 ? 프..
React를 사용하는 데에는 많은 방법이 있지만, 여기서는 커맨드-라인 인터페이스(command-line interface; CLI) 툴인 create-react-app을 사용할 겁니다. 이 툴은 패키지를 설치하고 파일들을 생성하여 툴링들로 개발하는 과정을 신속히 처리함 create-react-app 없이 웹 사이트에 React를 추가하는 것은 HTML 파일에서 요소들을 복사해오는 것으로 가능하지만, create-react-app CLI는 React 애플리케이션을 만드는 가장 흔한 시작점임. 애플리케이션을 빌드하는 데에는 더 많은 시간이 걸리나 설정에 걸리는 시간은 줄일 수 있습니다.: 스크립트 요소 - HTML: Hypertext Markup Language | MDN" data-og-descripti..
React란 : 사용자 인터페이스(UI) 개발에 초점을 맞춘 프론트엔드 라이브러리복잡하고 동적인 웹 페이지 개발 시 사용이 용이페이스북에서 만든 Javascript_UI 라이브러리컴포넌트 기반 아키텍처를 기반으로 해 재사용성과 유지보수성을 높일 수 있도록 도와줌 React 개발 배경 : 웹 개발이 복잡해짐에 따라 html, css, js만으로는 한계가 생김 -> 초기에는 Web 개발을 위한 프론트엔드 라이브러리로 DOM조작을 쉽게해주는 jQuery 라이브러리가 주로 사용됨 (DOM은 문서 객체 모델(Document Object Model)의 약어로, 웹 페이지 문서를 트리 구조의 노드로 표현. Javascript를 사용해 이러한 노드를 조작할 수 있음. DOM은 웹 페이지의 요소에 동적으로 접근하고 수정..
힙 : 내부노드에 키를 저장하고 루트를 제외한 모든 내부노드 v에 대해 key(v)≥key(parent)[힙순서]를 만족하는 완전이진트리로 구현된 데이터구조 마지막 노드 : 힙의 높이를 h라 하면 깊이 h-1의 가장 오른쪽 내부노드 힙의 높이 : n개의 키를 저장한 힙의 높이는 O(log n)힙을 이용한 우선순위 큐 구현: 우선순위 큐는 리스트 혹은 힙으로 구현 가능: 우선순위 큐의 역할을 구현하려면, 데이터항목의 삽입과 삭제가 자유로운 저장소로 삭제의 경우 최소 키를 가진 항목을 삭제해야 함 저장소로서의 역할 : 힙을 구성하는 적정이진트리 내부노드에 (키, 원소)쌍의 데이터 저장 / 편의상 외부노드에는 데이터 저장 x / 마지막 노드의 위치를 변수로 관리 삽입과 삭제의 역할 삽입 ( InsertItem..
우선순위 큐 ADT : 임의의 데이터 항목이 삽입되며, 일정한 순서(우선순위가 높은 원소부터 삭제)에 의해 삭제되는 데이터 구조. '큐'와 데이터 항목을 저장하고 삽입과 삭제가 가능하다는 점은 동일.- 우선순위 큐에 저장되는 각 데이터 항목은 (키, 원소)쌍으로 정의됨 ex. 우편물의 경우 (주소, 우편물) / 답안지의 경우(학번, 점수) 우선순위 큐 구현방식1) 단순 리스트 사용2) 힙(heap) 사용구현 방식삽입 시간복잡도삭제 시간복잡도리스트O(1)O(n)힙(heap)O(log n)O(log n)우선순위 큐 ADT 메쏘드 1) 주요 메쏘드 insertItem(k,e) : 키 k인 원소 e를 큐에 삽입elemet removeMin() : 큐로부터 최소 키를 가진 원소를 삭제 , 반환 2) 일반 메쏘드i..