#どのようなアルゴリズム 方法#計算:人間の脳の複雑なシンプルなコンピュータ #99 * 13 = 1287 = 13 * 100 - 13 #検索:データを探します #並べ替え: #そのような百度マップ方向として最短経路 #私たちの学習アルゴリズムは、過去形であります #より良いアルゴリズムを作成するために、アルゴリズムの基礎を理解します #すべてのものは、に既製のソリューションを適用できるわけではありません #時々、アルゴリズムは、知識が新たな問題を解決することを学んだ使用します #バイナリ検索アルゴリズムは、順序付きリストに対処しなければなりません L = [ 2、3、4、5、9、12、15、19、20、37、40、42、46、48、49、52、55、56、63、66、68、69、70、72、75、78、79、80 ] #コードの実装 #デフ(L、AIM)を見つけます: #1 mid_index = LEN(L)// 2 # 場合、Lは[mid_index < 目指して: #1 [mid_index + 1 :] #new_l = L [mid_index + 1 :] #mid_index = LEN(new_l)// 2 #検索(new_l、AIM) #1のelifのL [mid_index] > 目指して: #new_l = Lの[:mid_index] #見つける(new_l、AIM) # 他に: 印刷#(' 見つかった' 、mid_index、L [mid_index]) # #検索(L、66 ) #DEF(Lを目指し、開始見つける = 0、終了= LEN(リットル))。 Mid_index位 =(終了-開始])// 2 +中間値スタート#計算 # IF L [mid_index < AIMました: #検索(リットル、開始、目指す = mid_index、エンド= エンド) #1のelifのL [mid_index] > 目指して: #検索(L、目指し、起動開始=、端= mid_index- 1 ) # 他に: 印刷#(' 見つかった' 、mid_index、AIM) # 検索#(L、66)#見つける19 66 #を印刷する(l.index(66))#19 #パラメータ終了 #戻り値 どのように行うに言葉を見つけることができません# #パラメータ終了 どのように行うに言葉を見つけることができません# デフ(起動しない、目指し、L見つけ = 0、終了= なし): 終了 = LEN(リットル)の場合、エンドはある なし 他の終わり mid_index =(終了-開始)// 2 +開始#计算中间值 もし開始<= 終了: 場合、Lは[mid_index < 目指し: 戻り検索(L、目指し、= mid_index +開始1、端= 終了) ELIF Lは[mid_index] > 目指して: リターン検索(L、目指して、スタート=開始、終了= mid_index- 1 ) 他: 戻りmid_indexを #Print(' 見つかった' 、mid_index、AIM)の 他: リターン ' 値を見つけることができません' RET =検索(L、66#見つかっ)19 66 印刷(RET)#19