본문 바로가기

자료구조 스터디10

자료구조 스터디 2주차 2-1) 버블정렬 로직이 단순하고 구현이 쉽다는 장점이 있다. 데이터의 인접요소끼리 먼저 비교하고 swap을 통해 정렬한다. 시간복잡도는 n^2으로 다른 정렬보다 많은 시간이 걸린다. 앞에서부터 뒤로가며 요소를 비교해 정렬하여 맨 마지막 인덱스에 위치하게되는 요소는 가장 큰 요소인게 확정된다. 따라서 루프를 1회 실행할때 마다 마지막에 위치하게되는 요소가 확정되어 n^2의 시간복잡도를 가지게 된다. 만약 특정 루프의 전체 영역에서 한번도 스왑이 일어나지 않았다면 전체가 정렬되어있다는 의미이므로 루프를 탈출해도된다. 2-2) 선택정렬 최대나 최소의 데이터를 찾아가며 선택하는 방법. n^2의 시간복잡도로 빠른 방법은 아님. 정렬에 따라 최댓값또는 최솟값을 찾고 남은 정렬부분 가장 앞 데이터와 스왑하는 방식... 2024. 4. 13.
자료구조 스터디-1주차 1-1)배열과 리스트 파이썬의 리스트는 배열의 특성도 내포하고있음. 파이썬에서의 리스트는 배열의 특성까지 가지게 구현되어있음. 인덱스로 접근이 가능하고 가변적으로 변하는 크기라는 장점만 가지고있다. 자료구조에서 배열: 메모리의 연속된 공간에 값이 채워져있는 형태의 자료구조. 값을 인덱스를 통해 직접 접근할 수 있다. 새로운 값의 삽입이나 삭제가 어렵다는 단점이 있다. 배열의 크기는 선언시에 지정할 수있으며 한번선언한 이후 크기를 조절할 수 없다. 자료구조에서 리스트: 값과 포인터를 묶은 노드라는것을 포인터로 연결한 자료구조. 값에 접근하려면 인덱스가 없기때문에 head 포인터로부터 순차적으로 접근해야한다는 단점이 있다. 포인터로 연결되어 데이터 삽입삭제의 속도가 빠르고 선언할 때 별도의 크기를 지정하지 .. 2024. 4. 6.