빅오(Big-O)표기법 What is Big-O? Mathematical notation that describes algorithm efficiency. 알고리즘의 성능을 수학적으로 표기해주는 표기법. Time & Space complexity. 시간과 공간복잡도 표현 Purpose of the Big-O Describes the growth rate...
선택정렬 구현 실패 -출력- [1, 5, 3, 4, 2] [1, 2, 5, 4, 3] [1, 5, 2, 4, 3] [1, 5, 4, 2, 3] [1, 5, 4, 3, 2] 이런 결과가 나왔다... 이게 왜 문제냐면 > 출력문의 두번째줄까진 정렬에 문제가 없었으나 i가 3회차 돌때부터 문제가 생겼다. k의 인덱스 번호가 i값이 증가함에 따라 앞의 데이...
자료구조의 시간복잡도를 분석하는법 선형검색
선택정렬.png https://github.com/behe-lit/DataStructured/blob/master/src/DataStructure/sort/SelectionSort.java 인덱스 1번의 데이터를 임시변수에 넣어놓고 임시변수에 담긴값을 최종길이까지 차례대로 증가하며 좌측의 데이터를 > 개인적인 교훈 for문 안에서 i++이든 ++i든...
데이터를 어떻게 조직하느냐에 따라!프로그램은 수십 수백 배 더 빠르게 혹은 더 느리게 실행될 수 있다.읽기검색삽입삭제단계수를 측정하라!속도 = 시간복잡도 = 효율성 = 성능컴퓨터가 한 번에 한 셀씩 확인하는 방법배열의 맨앞 0인덱스에 데이터를 삽입해야하는 경우 = N+
중복 값을 허용하지 않는 자료구조.읽기,검색,삭제 모두 같지만삽입만 다르다삽입 최악의 시나리오 = 맨앞에 삽입할 경우 "2N + 1단계" Next Chapter is.... 빅오표기법
데이터를 O(1)만에 룩업할 수 있다.고려사항얼마나 많은 데이터를 저장하는가얼마나 많은 셀을 쓸 수 있는가어떤 해시 함수를 사용하는가적절한 부하율 = 0.7(원소7개 / 셀 10개)
컬렉션 프레임 워크가 무엇인지를 얘기하기보다 왜 필요한지를 먼저 적겠다. 나도 그렇고 아마 찾아들어오신분들도 컬렉션 프레임워크가 사실 뭔지는 아실듯.정답은 '개발에 있어 배열의 불편함을 해결하고자' 이다.컬렉션 : 객체의 저장프레임워크 : 사용 방법을 정해놓은 라이브러
분할정복(divide-and-conquer), logN, 재귀pivotstartIndexendIndexarrayswap : startIndex와 endIndex의 위치 맞바꾸기partition : pivot값 설정 / 조건 만족시 swap함수 호출pivot값의 위치에
인터페이스에서 미리 메소드를 정의해 두었다.이런식으로 구성한 후 클래스에서 인터페이스 상속을 통해 오버라이딩 메서드를 구현하는게 깔끔한듯하다.pivot과 partition메서드가 이 퀵정렬 로직의 핵심이다.QuickSort메서드 부분에서는 재귀적인 로직이 들어가는데 쉽
단순구조선형구조비선형구조파일구조리스트,연결리스트 / 스택, 큐, 데크트리, 그래프순차파일(Sequential File), 색인 파일(Index File), 직접파일(Direct File)운영체제의 프로세스 스케쥴 관리운영체제의 프로그램 이벤트프로그램 수행시 사용