본문 바로가기
728x90

전체 글190

05.12 기록 - 알고리즘 공부 - IT지식 글쓰기 / CS 글쓰기 - 프로젝트 완성 ----------------------------------------------------------------------------------------------------- 알고리즘 공부 - 퀵 정렬(Quick Sort) IT지식 글쓰기 / CS 글쓰기 - 배열(Array)에 대한 글 작성 프로젝트 완성 - TakeBoard(정보 받아서 올리는 페이지) 부분 기능 추가 중 ----------------------------------------------------------------------------------------------------- 꾸준히 노력하는 사람이 되자 2023. 5. 12.
계수 정렬(Counting Sort) / Comparison Sort N개 원소의 배열이 있을 때, 이를 모두 정렬하는 가짓수는 N! 이다 따라서, Comparison Sort를 통해 생기는 트리의 말단 노드가 N! 이상의 노드 갯수를 갖기 위해서는, 2^h >= N! 를 만족하는 h를 가져야 하고, 이 식을 h > O(nlgn)을 가져야 한다. (h는 트리의 높이,,, 즉 Comparison sort의 시간 복잡도이다) 이런 O(nlgn)을 줄일 수 있는 방법은 Comparison을 하지 않는 것 / Counting Sort 과정 시간 복잡도 : O(n + k) -> k는 배열에서 등장하는 최대값 공간 복잡도 : O(k) -> k만큼의 배열을 만들어야 한다. Counting이 필요 : 각 숫자가 몇 번 등장했는지 센다. JavaScript.. 2023. 5. 11.
05.11 기록 - 알고리즘 공부 - IT지식 글쓰기 / CS 글쓰기 - 프로젝트 완성 ----------------------------------------------------------------------------------------------------- 알고리즘 공부 - 계수 정렬(Counting Sort)에 대한 공부 IT지식 글쓰기 / CS 글쓰기 - Array vs ArrayList vs LinkedList에 대한 글 작성 프로젝트 완성 - BoardList, Pagination CSS 부분 추가 중 ----------------------------------------------------------------------------------------------------- 2023. 5. 11.
Array vs ArrayList vs LinkedList Array는 index로 빠르게 값을 찾는 것이 가능함 LinkedList는 데이터의 삽입 및 삭제가 빠름 ArrayList는 데이터를 찾는데 빠르지만, 삽입 및 삭제가 느림 좀 더 자세히 비교하면? 우선 배열(Array)는 '선언할 때 크기와 데이터 타입을 지정'해야 한다. int arr[10]; String arr[5]; 이처럼, array은 메모리 공간에 할당할 사이즈를 미리 정해놓고 사용하는 자료구조다. 따라서 계속 데이터가 늘어날 때, 최대 사이즈를 알 수 없을 때는 사용하기에 부적합하다. 또한 중간에 데이터를 삽입하거나 삭제할 때도 매우 비효율적이다. 4번째 index 값에 새로운 값을 넣어야 한다면? 원래값을 뒤로 밀어내고 해당 index에 덮어씌워야 한다. 기본적으로 사이즈를 정해놓은 배열.. 2023. 5. 11.
728x90