算法
软件架构师笔记
立志成为软件架构师,记录成长之路
展开
-
快速排序算法
算法思路:1.选取基准点,通常为数组的第一个元素2.获取基准点在数组中的正确位置(让基准点左侧数据小于等于基准点,右侧数据大于等于基准点)3.对左右两侧的数组分别使用递归进行排序4.左右两侧的数值交叉找到其合理位置<?phpfunction partion(&$arr, $low, $high){ $privorKey = $arr[$low...原创 2018-04-22 09:29:35 · 107 阅读 · 0 评论 -
静态查找算法
静态查找顺序查找/*** Common search.** @param array $arr* @param mixed $item** @return int*/public function search(array $arr, $item){ for ($i = 0; $i < count($arr); $i++) { if ...原创 2018-04-22 11:25:54 · 804 阅读 · 0 评论 -
斐波那契数组构造
<?php/** * * 斐波那契数值计算 * @param int $pos 位置 */function fb ($pos){ if ($pos == 1 || $pos == 2) { return 1; } return fb($pos - 1) + fb($pos - 2);}/** * * 构造肥波捏那数组 *...原创 2018-04-22 12:15:06 · 311 阅读 · 0 评论 -
链表头结点存在的意义
1、防止单链表是空的而设的.当链表为空的时候,带头结点的头指针就指向头结点.2、是为了方便单链表的特殊操作,插入在表头或者删除第一个结点.这样就保持了单链表操作的统一性/链表的 头点 插入法,即从第一个节点的位置 插入链表func (l *List) Prepend(value interface{}) { node := NewNode(value) if l.Len() == 0 ...原创 2019-08-12 20:43:21 · 1497 阅读 · 0 评论