Deployment of small cells into existing mobile networks can improve throughput and users quality of service. However, the new tier composed of the small cells raises problems related to management of user's mobility. Moving users must be able to discover cells in their neighborhood. For this purpose, the users perform neighborhood scanning. The scanning process should be frequent enough to avoid situations when the user is not aware of a close cell as this one has not been scanned. However, the frequent scanning of a high number of neighboring cells leads to wasting battery of user equipments and to a reduction of user's throughput. Contrary, rare scanning can lead to a situation when a small cell is missing in the list of scanned cells and, thus, handover to it is not performed. It results in underutilization of the small cells and consequent overloading of macro cells. In this paper, we propose an efficient scanning algorithm suitable for future mobile networks. The objective of the proposed scheme is to maximize utilization of the small cells and to minimize energy consumption due to scanning. The proposal exploits graph theory to represent a principle of obstructed paths in combination with knowledge of previous visited cell and estimated distance between cells. As the results presented in the paper show, our algorithm reduces energy consumption due to scanning and enables higher exploitation of small cells by offloading macrocells.