- 배열리스트(ArrayList) 논리적 (저장)순서와 물리적 저장 순서가 동일하다 원소의 위치 인덱스는 0부터 시작한다 (C배열에서와 동일) 배열리스트의 단점 원소의 개수가 10만개인 배열리스트에서 원소의 추가/제거가 빈번하게 발생한다면? 중간에 추가 제거가 일어날때 해당 데이터와 관계없는 데이터들의 이동이 필요하다 배열리스트의 원소 추가 추가전 시작 지점과 방향, 어디까지 의 3가지 점을 주의해야함 1의 위치에 5를 삽입하기위해 가장 뒤에 있는값을 하나씩 옮긴 후 새로운 데이터를 삽입한다 추가가능한 위치인지 확인 필요 newElementCount 개수 만큼 값을 추가로 저장할 수 있음 int addALElement(ArrayList* pList , int position, ArrayListNode e..
알고리즘(Algorithm) 넓은 의미 자료구조와 함께 컴퓨터 프로그램을 구성하는 요소 컴퓨터 프로그래밍 = 자료 + 명령(연산) 좁은의미 어떠한 문제를 해결하기 위한 절차 ex. 1부터 100까지 합을 구하는 문제 문제를 해결하는 절차를 의사코드, Pseudo Code라고 한다. 알고리즘의 필수 5가지 특성 1. 입력(input) 외부에서 제공되는 자료가 0개 이상 있어야 한다 (입력할 수 없는 경우도 있다.) 2. 출력(output) 적어도 1개 이상의 결과를 만들어야 한다 3. 명백성(definiteness) 각 명령어는 의미가 모호하지 않고 명확해야 한다 4. 유한성(finiteness) 한정된 수의 단계 뒤에는 반드시 종료된다. 무한히 동작해서는 안된다 5. 유효성(effectiveness) 모..