Бинарный поиск

algorithms-and-data-structures/algorithms/binary-search Created with Sketch.
Скачать
<?xml version="1.0" encoding="UTF-8"?> <svg width="800px" height="800px" viewBox="0 0 73 73" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>algorithms-and-data-structures/algorithms/binary-search</title> <desc>Created with Sketch.</desc> <defs> </defs> <g id="algorithms-and-data-structures/algorithms/binary-search" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="container" transform="translate(2.000000, 2.000000)" fill="#FFFFFF" fill-rule="nonzero" stroke="#1A2731" stroke-width="2"> <rect id="mask" x="-1" y="-1" width="71" height="71" rx="14"> </rect> </g> <g id="binary-code" transform="translate(16.000000, 16.000000)" fill-rule="nonzero"> <g id="XMLID_2338_"> <path d="M40.2680859,40.2680859 C39.2930547,41.243998 37.7123926,41.243998 36.7373613,40.2680859 L29.6386758,33.1702812 L23.3591895,26.8907949 L26.8907949,23.3591895 L33.1702812,29.6386758 L40.2680859,36.7373613 C41.243998,37.7123926 41.243998,39.2929746 40.2680859,40.2680859 Z" id="XMLID_2339_" fill="#E29C6D"> </path> <path d="M40.7481543,39.5932676 C40.631,39.8374258 40.470123,40.0659687 40.2680059,40.2680859 C39.2929746,41.243998 37.7123125,41.243998 36.7372813,40.2680859 L29.6385957,33.1702812 L23.3591094,26.8907949 L24.5139961,25.7359082 L30.7934824,32.0153945 L37.892168,39.1131992 C38.6651621,39.8861133 39.8176465,40.0469902 40.7481543,39.5932676 Z" id="XMLID_2340_" fill="#C97F4C"> </path> <path d="M40.7481543,39.5932676 C40.631,39.8374258 40.470123,40.0659687 40.2680059,40.2680859 C39.2929746,41.243998 37.7123125,41.243998 36.7372812,40.2680859 L29.6385957,33.1702813 L33.1702012,29.6386758 L40.2680059,36.7373613 C41.0410801,37.5102754 41.201877,38.6627598 40.7481543,39.5932676 Z" id="XMLID_2343_" fill="#618BAA"> </path> <path d="M40.7481543,39.5932676 C40.631,39.8374258 40.470123,40.0659687 40.2680059,40.2680859 C39.2929746,41.243998 37.7123125,41.243998 36.7372813,40.2680859 L29.6385957,33.1702813 L30.7934824,32.0153945 L37.892168,39.1131992 C38.6651621,39.8861133 39.8176465,40.0469902 40.7481543,39.5932676 Z" id="XMLID_2346_" fill="#4E7693"> </path> <circle id="XMLID_2589_" fill="#BDDFF4" cx="15.9650957" cy="15.9650957" r="15.9650957"> </circle> <path d="M15.9650957,30.6641563 C7.85998828,30.6641563 1.26603516,24.0702031 1.26603516,15.9650957 C1.26603516,7.85998828 7.85998828,1.26603516 15.9650957,1.26603516 C24.0702031,1.26603516 30.6641563,7.85998828 30.6641563,15.9650957 C30.6641563,24.0702031 24.0702031,30.6641563 15.9650957,30.6641563 Z" id="XMLID_2586_" fill="#ADC9E2"> </path> <circle id="XMLID_2583_" fill="#43A3F9" cx="15.9650957" cy="15.9650957" r="13.5640332"> </circle> <g id="XMLID_2347_" transform="translate(27.386719, 27.386719)" fill="#618BAA"> <path d="M4.28538086,1.09370703 L1.09370703,4.28538086 C0.97246875,4.40581836 0.814074219,4.46603711 0.655679687,4.46603711 C0.498085937,4.46603711 0.339771484,4.40581836 0.218453125,4.28538086 C-0.0232226563,4.04370508 -0.0232226563,3.65180273 0.218453125,3.41012695 L3.41020703,0.218373047 C3.65188281,-0.0233027344 4.04378516,-0.0233027344 4.28546094,0.218373047 C4.52713672,0.460048828 4.52713672,0.85203125 4.28538086,1.09370703 Z" id="XMLID_2353_"> </path> </g> <path d="M29.4653867,30.6871387 L28.4804258,31.6720996 C28.3591875,31.7925371 28.200793,31.8527559 28.0423984,31.8527559 C27.8848047,31.8527559 27.7264902,31.7925371 27.6051719,31.6720996 C27.3634961,31.4304238 27.3634961,31.0385215 27.6051719,30.7968457 L28.5901328,29.8118848 L29.4653867,30.6871387 Z" id="XMLID_2356_" fill="#4E7693"> </path> </g> <g id="XMLID_2357_" transform="translate(7.847656, 8.488281)" fill="#54DDAC"> <path d="M1.66290234,0.0120917969 C0.787728516,0.0120917969 0.0757539062,0.724066406 0.0757539062,1.59916016 L0.0757539062,2.77919141 C0.0757539062,3.65436523 0.787728516,4.36633984 1.66290234,4.36633984 C2.53807617,4.36633984 3.25005078,3.65436523 3.25005078,2.77919141 L3.25005078,1.59916016 C3.25005078,0.724066406 2.53807617,0.0120917969 1.66290234,0.0120917969 Z M2.01260352,2.77927148 C2.01260352,2.97209961 1.85573047,3.12897266 1.66290234,3.12897266 C1.47007422,3.12897266 1.31320117,2.97209961 1.31320117,2.77927148 L1.31320117,1.59924023 C1.31320117,1.40641211 1.47007422,1.24953906 1.66290234,1.24953906 C1.85573047,1.24953906 2.01260352,1.40641211 2.01260352,1.59924023 L2.01260352,2.77927148 Z" id="XMLID_2358_"> </path> <path d="M11.454375,0.0120917969 C10.5792012,0.0120917969 9.86722656,0.724066406 9.86722656,1.59916016 L9.86722656,2.77919141 C9.86722656,3.65436523 10.5792012,4.36633984 11.454375,4.36633984 C12.3295488,4.36633984 13.0415234,3.65436523 13.0415234,2.77919141 L13.0415234,1.59916016 C13.0415234,0.724066406 12.3295488,0.0120917969 11.454375,0.0120917969 Z M11.8040762,2.77927148 C11.8040762,2.97209961 11.6472031,3.12897266 11.454375,3.12897266 C11.2615469,3.12897266 11.1046738,2.97209961 11.1046738,2.77927148 L11.1046738,1.59924023 C11.1046738,1.40641211 11.2615469,1.24953906 11.454375,1.24953906 C11.6472031,1.24953906 11.8040762,1.40641211 11.8040762,1.59924023 L11.8040762,2.77927148 Z" id="XMLID_2361_"> </path> <path d="M5.75025,3.14202539 L5.75025,0.691794922 C5.75121094,0.651595703 5.75041016,0.621085937 5.74960938,0.603148437 C5.73479492,0.271865234 5.46172852,0.0120917969 5.13180664,0.0120917969 C5.12716211,0.0120917969 5.1224375,0.012171875 5.11771289,0.0122519531 C4.78154492,0.0197792969 4.51288281,0.294527344 4.51288281,0.630775391 L4.51288281,0.675859375 C4.51112109,0.698681641 4.50607617,0.735277344 4.49838867,0.765707031 C4.17559375,0.786607422 3.92022461,1.0550293 3.92022461,1.38310937 C3.92022461,1.71607422 4.18328125,1.98761914 4.51288281,2.0013125 L4.51288281,3.14210547 C4.23212891,3.20072266 4.0212832,3.44952539 4.0212832,3.74765625 C4.0212832,4.08934961 4.29827344,4.36633984 4.6399668,4.36633984 L5.62380664,4.36633984 C5.96558008,4.36633984 6.24249023,4.08934961 6.24249023,3.74765625 C6.24249023,3.44936523 6.03132422,3.20040234 5.75025,3.14202539 Z" id="XMLID_2364_"> </path> <path d="M8.68823633,3.14202539 L8.68823633,0.691554688 C8.68919727,0.651515625 8.68839648,0.621166016 8.6875957,0.603228516 C8.67262109,0.267220703 8.389625,0.00248242188 8.0557793,0.0122519531 C7.71953125,0.0197792969 7.45086914,0.294447266 7.45086914,0.630775391 L7.45086914,0.667291016 C7.44950781,0.699082031 7.44366211,0.736398438 7.43621484,0.765707031 C7.1135,0.786607422 6.85813086,1.0550293 6.85813086,1.38310938 C6.85813086,1.71607422 7.12126758,1.98769922 7.45086914,2.0013125 L7.45086914,3.14210547 C7.17011523,3.20072266 6.95918945,3.44952539 6.95918945,3.74765625 C6.95918945,4.08934961 7.23617969,4.36633984 7.57787305,4.36633984 L8.56179297,4.36633984 C8.90356641,4.36633984 9.18047656,4.08934961 9.18047656,3.74765625 C9.18047656,3.44936523 8.96931055,3.20040234 8.68823633,3.14202539 Z" id="XMLID_2365_"> </path> <path d="M14.4294375,2.00139258 L14.4294375,3.14218555 C14.1486836,3.20080273 13.9378379,3.44960547 13.9378379,3.74773633 C13.9378379,4.08942969 14.2148281,4.36641992 14.5565215,4.36641992 L15.5403613,4.36641992 C15.8821348,4.36641992 16.1590449,4.08942969 16.1590449,3.74773633 C16.1590449,3.44936523 15.9478789,3.20048242 15.6668047,3.14202539 L15.6668047,0.691794922 C15.6677656,0.651595703 15.6669648,0.621085938 15.6661641,0.603148438 C15.6513496,0.271865234 15.3782832,0.0120917969 15.0483613,0.0120917969 C15.0437168,0.0120917969 15.0389922,0.012171875 15.0342676,0.0122519531 C14.6980996,0.0197792969 14.4294375,0.294527344 14.4294375,0.630775391 L14.4294375,0.675859375 C14.4276758,0.698681641 14.4226309,0.735277344 14.4149434,0.765707031 C14.0921484,0.786607422 13.8367793,1.0550293 13.8367793,1.38310938 C13.8366992,1.7161543 14.0997559,1.98769922 14.4294375,2.00139258 Z" id="XMLID_2366_"> </path> <path d="M1.66290234,5.29965039 C0.787728516,5.29965039 0.0757539062,6.011625 0.0757539062,6.88671875 L0.0757539062,8.06675 C0.0757539062,8.94192383 0.787728516,9.65381836 1.66290234,9.65381836 C2.53807617,9.65381836 3.25005078,8.94184375 3.25005078,8.06675 L3.25005078,6.88671875 C3.25005078,6.011625 2.53807617,5.29965039 1.66290234,5.29965039 Z M2.01260352,8.06683008 C2.01260352,8.2596582 1.85573047,8.41653125 1.66290234,8.41653125 C1.47007422,8.41653125 1.31320117,8.2596582 1.31320117,8.06683008 L1.31320117,6.88679883 C1.31320117,6.6939707 1.47007422,6.53709766 1.66290234,6.53709766 C1.85573047,6.53709766 2.01260352,6.6939707 2.01260352,6.88679883 L2.01260352,8.06683008 Z" id="XMLID_2367_"> </path> <path d="M11.454375,5.29965039 C10.5792012,5.29965039 9.86722656,6.011625 9.86722656,6.88671875 L9.86722656,8.06675 C9.86722656,8.94192383 10.5792012,9.65381836 11.454375,9.65381836 C12.3295488,9.65381836 13.0415234,8.94184375 13.0415234,8.06675 L13.0415234,6.88671875 C13.0415234,6.011625 12.3295488,5.29965039 11.454375,5.29965039 Z M11.8040762,8.06683008 C11.8040762,8.2596582 11.6472031,8.41653125 11.454375,8.41653125 C11.2615469,8.41653125 11.1046738,8.2596582 11.1046738,8.06683008 L11.1046738,6.88679883 C11.1046738,6.6939707 11.2615469,6.53709766 11.454375,6.53709766 C11.6472031,6.53709766 11.8040762,6.6939707 11.8040762,6.88679883 L11.8040762,8.06683008 Z" id="XMLID_2370_"> </path> <path d="M5.75025,8.42950391 L5.75025,5.97927344 C5.75121094,5.93907422 5.75041016,5.90856445 5.74960938,5.89062695 C5.73479492,5.55934375 5.46172852,5.29957031 5.13180664,5.29957031 C5.12716211,5.29957031 5.1224375,5.29965039 5.11771289,5.29973047 C4.78154492,5.30725781 4.51288281,5.58200586 4.51288281,5.91825391 L4.51288281,5.96333789 C4.51112109,5.98616016 4.50607617,6.02275586 4.49838867,6.05318555 C4.17559375,6.07408594 3.92022461,6.34250781 3.92022461,6.67058789 C3.92022461,7.00355273 4.18328125,7.27509766 4.51288281,7.28879102 L4.51288281,8.42958398 C4.23212891,8.48820117 4.0212832,8.73700391 4.0212832,9.03513477 C4.0212832,9.37682812 4.29827344,9.65381836 4.6399668,9.65381836 L5.62380664,9.65381836 C5.96558008,9.65381836 6.24249023,9.37682812 6.24249023,9.03513477 C6.24249023,8.73684375 6.03132422,8.48788086 5.75025,8.42950391 Z" id="XMLID_2373_"> </path> <path d="M8.68823633,8.42950391 L8.68823633,5.9790332 C8.68919727,5.93899414 8.68839648,5.90864453 8.6875957,5.89070703 C8.67262109,5.55469922 8.389625,5.29044141 8.0557793,5.29973047 C7.71953125,5.30725781 7.45086914,5.58192578 7.45086914,5.91825391 L7.45086914,5.95476953 C7.44950781,5.98656055 7.44366211,6.02387695 7.43621484,6.05318555 C7.1135,6.07408594 6.85813086,6.34250781 6.85813086,6.67058789 C6.85813086,7.00355273 7.12126758,7.27517773 7.45086914,7.28879102 L7.45086914,8.42950391 C7.17011523,8.48812109 6.95918945,8.73692383 6.95918945,9.03505469 C6.95918945,9.37674805 7.23617969,9.65373828 7.57787305,9.65373828 L8.56179297,9.65373828 C8.90356641,9.65373828 9.18047656,9.37674805 9.18047656,9.03505469 C9.18047656,8.73684375 8.96931055,8.48788086 8.68823633,8.42950391 Z" id="XMLID_2374_"> </path> <path d="M15.6668047,8.42950391 L15.6668047,5.97927344 C15.6677656,5.93907422 15.6669648,5.90856445 15.6661641,5.89062695 C15.6513496,5.55934375 15.3782832,5.29957031 15.0483613,5.29957031 C15.0437168,5.29957031 15.0389922,5.29965039 15.0342676,5.29973047 C14.6980996,5.30725781 14.4294375,5.58200586 14.4294375,5.91825391 L14.4294375,5.96333789 C14.4276758,5.98616016 14.4226309,6.02275586 14.4149434,6.05318555 C14.0921484,6.07408594 13.8367793,6.34250781 13.8367793,6.67058789 C13.8367793,7.00355273 14.0998359,7.27509766 14.4294375,7.28879102 L14.4294375,8.42958398 C14.1486836,8.48820117 13.9378379,8.73700391 13.9378379,9.03513477 C13.9378379,9.37682812 14.2148281,9.65381836 14.5565215,9.65381836 L15.5403613,9.65381836 C15.8821348,9.65381836 16.1590449,9.37682812 16.1590449,9.03513477 C16.1590449,8.73684375 15.9478789,8.48788086 15.6668047,8.42950391 Z" id="XMLID_2375_"> </path> <path d="M1.66290234,10.587209 C0.787728516,10.587209 0.0757539062,11.2991836 0.0757539062,12.1743574 L0.0757539062,13.3543887 C0.0757539062,14.2295625 0.787728516,14.941457 1.66290234,14.941457 C2.53807617,14.941457 3.25005078,14.2294824 3.25005078,13.3543887 L3.25005078,12.1742773 C3.25005078,11.2991836 2.53807617,10.587209 1.66290234,10.587209 Z M2.01260352,13.3543887 C2.01260352,13.5472168 1.85573047,13.7040898 1.66290234,13.7040898 C1.47007422,13.7040898 1.31320117,13.5472168 1.31320117,13.3543887 L1.31320117,12.1742773 C1.31320117,11.9814492 1.47007422,11.8245762 1.66290234,11.8245762 C1.85573047,11.8245762 2.01260352,11.9814492 2.01260352,12.1742773 L2.01260352,13.3543887 Z" id="XMLID_2376_"> </path> <path d="M11.454375,10.587209 C10.5792012,10.587209 9.86722656,11.2991836 9.86722656,12.1743574 L9.86722656,13.3543887 C9.86722656,14.2295625 10.5792012,14.941457 11.454375,14.941457 C12.3295488,14.941457 13.0415234,14.2294824 13.0415234,13.3543887 L13.0415234,12.1742773 C13.0415234,11.2991836 12.3295488,10.587209 11.454375,10.587209 Z M11.8040762,13.3543887 C11.8040762,13.5472168 11.6472031,13.7040898 11.454375,13.7040898 C11.2615469,13.7040898 11.1046738,13.5472168 11.1046738,13.3543887 L11.1046738,12.1742773 C11.1046738,11.9814492 11.2615469,11.8245762 11.454375,11.8245762 C11.6472031,11.8245762 11.8040762,11.9814492 11.8040762,12.1742773 L11.8040762,13.3543887 Z" id="XMLID_2379_"> </path> <path d="M5.75025,13.7170625 L5.75025,11.266832 C5.75121094,11.2266328 5.75041016,11.196123 5.74960938,11.1781855 C5.73479492,10.8469023 5.46172852,10.5871289 5.13180664,10.5871289 C5.12716211,10.5871289 5.1224375,10.587209 5.11771289,10.5872891 C4.78154492,10.5948164 4.51288281,10.8695645 4.51288281,11.2058125 L4.51288281,11.2424883 C4.51152148,11.2742793 4.50567578,11.3115156 4.49822852,11.3408242 C4.17551367,11.3617246 3.92022461,11.6301465 3.92022461,11.9582266 C3.92022461,12.2911914 4.18328125,12.5627363 4.51288281,12.5764297 L4.51288281,13.7172227 C4.23212891,13.7758398 4.0212832,14.0246426 4.0212832,14.3227734 C4.0212832,14.6644668 4.29827344,14.941457 4.6399668,14.941457 L5.62380664,14.941457 C5.96558008,14.941457 6.24249023,14.6644668 6.24249023,14.3227734 C6.24249023,14.0244023 6.03132422,13.7754395 5.75025,13.7170625 Z" id="XMLID_2382_"> </path> <path d="M8.68823633,13.7170625 L8.68823633,11.2665918 C8.68919727,11.2265527 8.68839648,11.1962031 8.6875957,11.1782656 C8.67262109,10.8422578 8.389625,10.5785605 8.0557793,10.5872891 C7.71953125,10.5948164 7.45086914,10.8694844 7.45086914,11.2058125 L7.45086914,11.2507363 C7.44910742,11.2735586 7.4440625,11.3102344 7.436375,11.3407441 C7.1135,11.3616445 6.85813086,11.6300664 6.85813086,11.9581465 C6.85813086,12.2911113 7.12126758,12.5627363 7.45086914,12.5763496 L7.45086914,13.7170625 C7.17011523,13.7756797 6.95918945,14.0244824 6.95918945,14.3226133 C6.95918945,14.6643066 7.23617969,14.9412969 7.57787305,14.9412969 L8.56179297,14.9412969 C8.90356641,14.9412969 9.18047656,14.6643066 9.18047656,14.3226133 C9.18047656,14.0244023 8.96931055,13.7754395 8.68823633,13.7170625 Z" id="XMLID_2383_"> </path> <path d="M15.6668047,13.7170625 L15.6668047,11.266832 C15.6677656,11.2266328 15.6669648,11.196123 15.6661641,11.1781855 C15.6513496,10.8469023 15.3782832,10.5871289 15.0483613,10.5871289 C15.0437168,10.5871289 15.0389922,10.587209 15.0342676,10.5872891 C14.6980996,10.5948164 14.4294375,10.8695645 14.4294375,11.2058125 L14.4294375,11.2424883 C14.4280762,11.2742793 14.4222305,11.3115156 14.4147832,11.3408242 C14.0920684,11.3617246 13.8367793,11.6301465 13.8367793,11.9582266 C13.8367793,12.2911914 14.0998359,12.5627363 14.4294375,12.5764297 L14.4294375,13.7172227 C14.1486836,13.7758398 13.9378379,14.0246426 13.9378379,14.3227734 C13.9378379,14.6644668 14.2148281,14.941457 14.5565215,14.941457 L15.5403613,14.941457 C15.8821348,14.941457 16.1590449,14.6644668 16.1590449,14.3227734 C16.1590449,14.0244023 15.9478789,13.7754395 15.6668047,13.7170625 Z" id="XMLID_2384_"> </path> </g> </g> </g> </svg>
  • Andreas Mehlsen
  • MIT
  • 13 просмотров
  • 4 скачиваний