Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

学习笔记

搜索的要求

  • 每个节点都要访问一次
  • 每个节点仅仅访问一次

深度优先搜索:

  • 遍历顺序:在一层还未结束时会先进入下一层,直到最后一层,然后回到上一层继续遍历

广度优先搜索:

  • 遍历顺序:一层层的往下遍历

贪心算法

  • 将问题分解为若干子问题,并且在每个子问题寻求最优解,从而使得最终结果也是最优解

和动态规划的区别

  • 动态规划会将子问题的结果存储,然后可以选择回退,贪心算法则不会

二分查找

二分查找的前提

  • 目标函数的单调性(单调递增或者递减),即 有序
  • 存在上下界
  • 能够通过索引访问

代码模板:

left ,right = 0,len(array) - 1
while left <= right :
    mid = (left + right) / 2
    if array[mid] == target:
        #find the target!!
        break or return result
    elif array[mid] < target:
        left = mid + 1;
    else:
        right = mid - 1;