전체 글 썸네일형 리스트형 기초적 연결 리스트 연산 기초 연산에는 리스트를 잃어버리지 않기 위한 머리 원소 추적, 리스트 종주, 리스트 원소 추가 및 제거 등이 있다. 머리 원소 추적 단일 연결 리스트에서는 반드시 머리 원소를 추적해야 한다. 그러지 않으면 언어에 따라 가비지 컬렉터에 의해 제거되거나 길을 잃어버릴 수가 있다. 따라서 새로운 원소를 첫 번째 원소 앞에 추가한다거나 리스트의 첫 번째 원소를 제거할 때 리스트의 머리에 대한 포인터 또는 레퍼런스를 갱신해야 한다. 함수나 메서드내에서 리스트를 변형시킬 때에는 머리원소를 제대로 추적할 수 있도록 주의해야 한다. 함수나 메서드를 호출한 쪽에 바뀐 새로운 머리 원소를 알려줘야 되기 때문이다. public ListElement insertInFront (ListElement list,int data){.. 더보기 연결 리스트의 정의 연결 리스트는 동적인 데이터를 처리하는 것과 관련된 수많은 문제의 근간을 이루는 자료구조이다. 워낙 기초적인 구조자료이므로, 나중에 나올 더 복잡한 자료구조로 넘어가기 전에 완벽하게 익혀야 한다. 연결 리스트의 종류 단일 연결 리스트, 이중 연결 리스트, 원형 연결 리스트 3가지의 기본 유형이 존재한다. 단일 연결 리스트 리스트에 들어가는 각 데이터 원소에는 리스트의 다음 원소에 대한 연결고리(pointer 또는 레퍼런스)가 들어있다. 단일 연결 리스트의 첫번째 원소는 리스트의 머리(head)라 부른다. 단일 연결 리스트의 마지막 원소는 리스트의 꼬리(tail)라고 부르며 연결 고리는 비어있거나 Null 연결고리로 이어져있다. 단인 연결 리스트에 있는 연결고리는 다음 노드를 가리키는 포인터나 레퍼런스로만.. 더보기 빅 오 분석 면접시 문제의 답을 구현하고 나서 효율성에 대한 질문이 나오는 경우가 많은데 어떤 상황에서 어떤 구현방법이 더 유리할지를 확인하기위해 사용하는 분석중에 하나이다. ex) 음수가 아닌 수가 저장된 배열에서 최댓값을 구하는 간단한 함수를 구현하자. 함수 구현법에는 두가지가 존재한다. (더 있을수도있고) 1. 배열의 모든 원소를 하나씩 확인하면서 가장 큰수를 계속 기록한다. 확인이 끝나면 그 값을 반환한다. 2. 각 값과 다른 모든값을 비교하는 방법. 다른 모든값이 주어진 값 이하라면 그 값이 최대값이 된다. 1번 코드 */n개의 음이 아닌 정수의 배열에서 가장 큰 값 반환 */ int CompareToMax(int array[] , int n) { int curMax, i; */배열에 적어도 하나 이상의 원.. 더보기 [MongoDB] MongoDB / RDBMS의 구조 차이 RDBMS와 MongoDB 구조차이를 공부하며 정리하기 위해 남긴다. 공부내용이 추가되는대로 업데이트할 예정 Table column MongoDB collection document RDBMS Table Row 더보기 [MongoDB] objectId 설정 MongoDB Shell 에서 _id: ObjectId('ex')라고 되어 있는부분에 ObjectId를 find를 통해서 찾으려고 하는경우 ReferenceError: ObjectId is not defined가 발생한다 //node에서 작업 할때는 걱정안해도 괜찮다. 원인은? mongodb version 4.2의 경우 mongodb 내에서 ObjectID가 뭔지를 모르기 때문에 선언해줘야할 부분이있다. let ObjectId = require('mongodb').ObjectId 를 선언해줘야지만 ObjectId('해당값')을 통한 조회가 가능했지만 버전이 업데이트 되고나서는 let이라는 선언 없이도 사용이 가능하다고 한다. 결론 : 버전 별로 쓰임새가 다르니 버전 관리 잘하자! 더보기 이전 1 ··· 5 6 7 8 다음