이진트리에서, 노드의 중위-후속자(Inorder successor)는  


이진트리의 중위-순회(Inorder traversal)시 다음으로 방문할 노드를 말한다. 


예를 들어 중위-순회에서 마지막 노드에 대한 중위-후속자는 NULL이다. 


이진검색 트리에서, 입력 노드의 중위 후속자는 입력 노드의 키보다 큰 노드 중 가장 작은 키를 가진 노드로 정의될 수 있다. 


따라서, 정렬된 순서에서 다음 노드를 찾는 것이 가끔 중요하다. 


 


위 그림에서 8의 중위-후속자는 10, 10의 중위-후속자는 12, 14의 중위-후속자는 20이다.




 출처 http://www.geeksforgeeks.org/inorder-successor-in-binary-search-tree/

 

 

'Data Structure' 카테고리의 다른 글

배열과 리스트  (0) 2016.08.28

Authentication

Authentication은 당신이 누군지 확인한다. 예를 들어서 당신은 SSH 클라이언트를 이용해 Unix 서버에 로그인할 수 있거나,  POP3, MTP 클라이언트를 이용해 당신의 이메일 서버에 접근할 수 있다. 

Authorization

Authorization은 당신이 작업을 하도록 허가됐는지 확인한다. 예로 당신은 ssh 클라이언트를 경유해 Unix Server로 로그인하는 것이 허용될 수 있지만 당신은 디렉터리 혹은 어떤 다른 파일 시스템을 탐색하는 것도 허용되지 않는다.

Authorization은 성공적인 Authentication후에 일어난다.


출처 http://www.cyberciti.biz/faq/authentication-vs-authorization/


'ETC' 카테고리의 다른 글

BOJ 9084 동전문제  (0) 2017.03.02

Ionic으로 개발하던 앱에서 Facebook 로그인을 추가하기로 했고,

구현을 위해 관련된 자료를 찾던 중에 ngCordovaOauth 플러그인을 찾았다.

Ionic 포럼에서는 이 플러그인을 소개하는 글이 있었고, 이 플러그인을 이용한 샘플 프로젝트도 안내하고 있었다.

참고로 개발 환경에서 테스트해보려면 브라우저말고 에뮬레이터를 써야 한다.


우선 페이스북 개발자센터의 상단 네비게이션 > MyApp에서 앱을 생성한다.


블러 처리된 부분의 App ID를 복사 한다. 

샘플 프로젝트의 www/js/app.js 파일에서 아래의 코드를 찾아 client_id를 복사해둔 APP ID로 바꾼다.

$cordovaOauth.facebook("client_id", ["email", "read_stream", "user_website", "user_location", "user_relationships"]).then(function(..){...});


그리고 에뮬레이터에서 테스트 해보면 에러가 난다.


다시 페이스북 개발자센터로 간다.


MyApp > Settings의 Advanced 탭으로 이동한다.

그림에 표시된 부분에 "http://localhost/callback"을 입력한 후 다시 실행한다.


로그인에 성공했다.

하지만 이 방법은 페이스북 개발자 센터에서 APP을 생성한 계정으로만 가능할 뿐, 다른 팀원의 계정으로 로그인을 시도하면 에러가 발생했다.


화면에 표시된 toggle 버튼을 클릭해서 Yes 상태로 만든다.

그럼 다른 계정으로도 테스트 가능.

+ Recent posts