본문 바로가기

분류 전체보기

(154)
순환(Recursion)에 대해(3) 순환 알고리즘의 설계 (Designing Recursion) 순환 알고리즘의 성립 조건- 적어도 하나의 base case, 즉 순환되지 않고 종료되는 case가 꼭 있어야 한다. (base case는 여러 개가 있을 수 있다.)- 모든 케이스는 결국 base case로 수렴해야 한다.- 암시적 (implicit)매개변수를 명시적 (explicit)매개변수로 바꾸어라. - 순차 탐색 (데이터가 정렬되어 있다면 이진검색이 더 효율적이다.)//이 함수의 임무는 data배열 내에서 target을 검색해내는 것이다.//하지만, 보통 검색 구간의 시작점인 인덱스 0은 보통 생략하는데 이를 암시적 매개변수라고 말한다.int search (int[] data, int n, int target) {for (int i =..
BufferedWriter와 System.out.println() 의 비교와 사용법(스크랩) https://code0xff.tistory.com/10
순환(Recursion)에 대해(2) 순환적으로 사고하기 (Recursive Thinking)- 순환은 수학 함수 계산뿐 아니라 다른 많은 문제들을 해결할 때 도움을 줄 수 있는 사고 방식이다. 문자열의 길이 계산- 슈도 코드if the string is emptyreturn 0;elsereturn 1 plus the length of the string that excludes the first character;//원래 문자열에서 첫 번째 문자를 뺀 길이를 계산하여 거기에 1을 더한다. - 구현public static int length (String str) {if (str.equals(""))return 0;elsereturn 1 + length(str.substring(1));//substring(1)은 원래 있던 문자열에서 제일 ..
LaTeX를 이용해 수식 입력하기 선 결론인라인 수식 입력까지 한번에 작성 가능해지려면 관리자 메뉴 > 꾸미기 > 스킨 편집 > 우상단의 html편집 순으로 들어가 head태그 사이에를 붙여넣으면 $를 이용해 인라인 입력, $$를 이용해 따로 문단에 나타내기가 가능해진다. 알고리즘 공부를 시작하며 수학식을 글에 작성해야 할 일이 많아지기 시작했다. 수식을 입력하는 사이트를 통해 그림을 넣는 방식이나, 티스토리 자체 수식입력기를 이용해 작성하는 방식을 이용해봤으나 두 방식 다 만족스러운 정도로 수식이 입력되지 않았다.해결을 위해 검색하던 중 LaTeX를 개인 티스토리 HTML설정에 적용한다면 수식을 글 중간에 작성이 가능해진다는 사실을 알아내게 되었다. 1. LaTeX여러 블로그들을 방문하며 정보를 쌓은 결과 head단에 LaTeX api..
순환(Recursion)에 대해(1) 순환- 자기 자신을 다시 호출하는 함수를 말한다.void func(~) {~func(~);~}ex)public class Ex1 {public static void main (String[] args) {func();}public static void func() {System.out.println("Hello!");func();}}-> 자신을 계속 반복하여 호출하게 되면 무한정 자신을 호출하는 무한 반복에 빠지게 된다. - 순환은 코드의 작성법에 따라 무한루프에 빠지지 않게 만들 수 있다.1) Base case : 무한반복에 빠지지 않게 하는 조건식이 적어도 하나는 존재해야 한다.2) Recursive case : 순환을 계속 하다보면 결국 base case에 수렴할 수 있도록 해야 한다. ex)pub..
시간복잡도에 대해 시간복잡도(time complexity) - 알고리즘의 자원(resource) 사용량을 분석한다. - 자원이란 실행 시간, 메모리, 저장 장치, 통신 등을 의미한다. - 실행시간은 실행 환경에 따라 달라진다.(하드웨어, 운영체제, 언어, 컴파일러 등) - 실행 시간을 측정하는 대신에 연산의 실행 횟수를 센다. - 데이터의 크기가 같아도 실제 데이터에 따라 시간 복잡도는 달라질 수 있다. 최악 시간 복잡도(worst-case analysis) 평균 시간복잡도(average-case analysis) 점근적 분석 - 점근적 표기법을 사용한다. 데이터 개수가 n -> ∞일 때 수행시간이 증가하는 growth rate로 시간복잡도를 표현하는 기법이다. 주로 세타(Θ) 표기, 빅오(O) 표기법을 사용한다. - 점..
Properties와 Collections에 대해 보호되어 있는 글입니다.
intValue()와 ParseInt()의 차이(스크랩) https://vitalholic.tistory.com/72