算法
泓铭
这个作者很懒,什么都没留下…
展开
-
简单算法:二分查找概念 和 Pyhton应用
概念: 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好,占用系统内存较少;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一...原创 2018-07-19 11:47:13 · 351 阅读 · 0 评论 -
简单算法理解 --- 栈、队列、排序
栈(先进后出 、后出先进)# 定义一个栈(FILO)class Stack(object): def __init__(self): self.stack = [] def pop(self): if self.is_empty(): return None else: retu...原创 2018-07-30 15:04:48 · 207 阅读 · 0 评论 -
Leetcode 两数之和 II - 输入有序数组
原题:给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11,...原创 2018-08-04 22:49:38 · 328 阅读 · 0 评论 -
二叉树、二分法、链表、斐波那契
翻书问题或者走台阶问题:共有n个台阶,每次只能上1个台阶或者2个台阶,共有多少种方法爬完台阶。 共有n页书,每次只能翻1页或者2页书,共有多少种方法翻完全书。# f(n)为翻完全书的方法# 递归写法def f(n): if n == 1: return 1 if n == 2: return 2 if n > 2: ...原创 2018-08-02 22:55:36 · 483 阅读 · 0 评论 -
一致性Hash --- 详解
引入在业务开发中,我们常把数据持久化到数据库中。如果需要读取这些数据,除了直接从数据库中读取外,为了减轻数据库的访问压力以及提高访问速度,我们更多地引入缓存来对数据进行存取。读取数据的过程一般为: 图1:加入缓存的数据读取过程对于分布式缓存,不同机器上存储不同对象的数据。为了实现这些缓存机器的负载均衡,可以使用式子1来定位对象缓存的存储机器:m = hash(o) mod n ...原创 2018-08-21 11:15:53 · 1081 阅读 · 0 评论