2013-04-08 4 views
1

지난 주에 강의를 놓쳤으므로 온라인 강연을 보았습니다 (교수님이 강의를 녹음합니다). 그리고 그는 "래퍼"를 계속 참고합니다.이진 검색 트리 (래퍼)

나는 래퍼 (wrapper)가 무엇인지 설명하지 않는다. 그게 무슨 뜻이야? 나는 봤지만 아무 소용이 없다. 데이터 구조를 학습하는 언어는 C.입니다. 감사합니다!

+0

래퍼는 랩퍼입니다. 알고리즘 (또는 일반적으로)은 알고리즘이나 라이브러리 액세스를 단순화하는 소프트웨어 계층입니다. 또한, 구글은 훌륭한 도구입니다. –

답변

1

일반적으로 랩퍼는 사용하기 쉬운 인터페이스 뒤에 완전한 구현을 숨기는 일부 개체 또는 기능입니다. 일반적으로 이진 탐색 트리를 감싸는 래퍼 객체는 명시 적 노드 포인터를 사용하는 함수없이 "삽입", "삭제"및 "조회"와 같은 유용한 함수를 내보내는 객체입니다. 그렇게하면 표현의 세부 사항을 클라이언트에 누설하지 않고 이진 탐색 트리를 사용할 수 있습니다.

다른 소프트웨어 상단에있는 소프트웨어를 나타내는 데 "래퍼 (wrapper)"라는 용어가 사용되고 간소화되는 경우가 있습니다. 예를 들어 네트워킹을위한 일부 라이브러리는 소켓 API를 둘러싼 래퍼 일 수 있습니다. 소켓을 기본 표현으로 사용하지만이를 클라이언트에 표시하지는 않습니다. 그런 식으로 클라이언트는 소켓 API의 모든 하위 레벨 세부 정보를 사용하지 않고보다 쉬운 라이브러리를 사용할 수 있습니다. 때때로 C 코드를 단순화하기 위해 생성자, 소멸자, 캡슐화 등이있는 C++ 객체를 사용하는 C 코드 주위의 C++ 래퍼를 볼 수도 있습니다.

래퍼 함수는 재귀 함수를 작성하기 쉽게하기 위해 때때로 사용됩니다. 어떤 경우에는 제대로 작동하기 위해 추가 매개 변수를 사용하는 재귀 함수가있을 수 있습니다. 래퍼 함수는 적절한 매개 변수로 재귀 함수를 호출 할 수 있습니다. 그렇게하면 재귀 함수를 호출하는 대신 래퍼 함수를 ​​직접 호출하여 여러 매개 변수를 전달할 수 있습니다.

희망이 도움이됩니다.

+0

덕분에 자세한 설명이 가능합니다. – juice