
算法
文章平均质量分 50
rorntuck7
这个作者很懒,什么都没留下…
展开
-
php代码实现二分查找
二分查找是一种算法,其输入是一个有序的元素列表。如果要查找的元素包含在列表中,二分查找返回其位置;否则返回null。一般而言,对于包含n个元素的列表,用二分查 找最多需要log2n步,而简单查找最多需要n步。二分查找算法运行时间 O(log n) 简单查找运算时间O(n)<?php //接受一个有序数组和一个元素 function binary_search($arr,$item) { ...原创 2018-07-02 15:28:12 · 390 阅读 · 0 评论 -
PHP 实现一个双端链表
链表中的元素可存储在内存的任何地方。链表的每个元素都存储了下一个元素的地址,从而使一系列随机的内存地址串在一起。链表存在的问题。在需要读取链表的最后一个元素时,你不能直接读取,因为你不知道 它所处的地址,必须先访问元素#1,从中获取元素#2的地址,再访问元素#2并从中获取元素#3 的地址,以此类推,直到访问最后一个元素。你需要跳跃,链表的效率 真的很低。使用链表时,插入元素很简单,只需修改 它前面...原创 2018-07-03 14:15:25 · 181 阅读 · 0 评论 -
php 实现hash表
php的数组实际上就是hash_table,无论是 数字索引数组array(1, 2, 3) 还是关联数组array(1 => 2, 2=> 4)等等。 PHP中哈希表结构假定向PHP数组中插入三个元素分别为Bucket1,Bucket2,Bucket3,其中Bucket1和Bucket2的key具有相同的哈希值。其在哈希表中存储如图所示:从上图可知,(1)哈希表中同一个哈希值对应元素...原创 2018-07-10 11:05:01 · 1385 阅读 · 0 评论 -
php选择排序
需要的总时间为 O(n × n),即O(n2 )。 <?php $arr=array(5,8,9,52,4,1,545,555); function SelectionSort($arr){ $smallest_index=0; //存储最小元素的key for($i=0;$i<count($arr)-1;$i++){ $smallest=$arr[$i]; /...原创 2018-07-04 12:19:19 · 539 阅读 · 0 评论 -
php 快速排序
分而治之(1) 找出基线条件,这种条件必须尽可能简单。(2) 不断将问题分解(或者说缩小规模),直到符合基线条件。$arr=array(5,1,2); function quicksort($arr){ if(count($arr)<2){ return $arr; }else{ $pivot=$arr[0]; $less=[];//小于基准线的...原创 2018-07-07 14:52:56 · 587 阅读 · 0 评论