数据结构
benben0729
职业为猿的汪,爱好象、鼠、蛇、蛙
展开
-
数据结构中常用的操作的效率表
前面介绍了经典的数据结构和算法,这一节我们对这些数据结构和算法做一个总结,具体细节,请参见各个章节的详细介绍,这里我们用表格来呈现它们的效率。1. 数据结构部分数据结构中常用的操作的效率表 通用数据结构 查找 插入 删除 遍历 数组 O(...转载 2018-07-30 22:09:59 · 413 阅读 · 1 评论 -
判断链表是否有环 寻环
环有两种可能:整体是一个环 中间有环方法一$node = $head;while($node!=null){ $node=$node->next; if($node==$head){ #当有node指向头的时候我们可以确定这是一个循环链表 } }#这只能判断第一种情况,第二种情况这种方法是不行的方法二#链表不能同...原创 2018-09-29 09:45:28 · 161 阅读 · 0 评论 -
php快速排序
快速排序<?php$a = [21,17,39,5,9,3,20,80,31,43,52];function quick_sort($arr){ if(!is_array($arr)) return false; //递归出口:数组长度为1,直接返回数组 $len = count($arr); if($len<=1) return $arr; $l...原创 2018-09-11 17:21:38 · 125 阅读 · 0 评论 -
php 冒泡排序
function bubbleSort($numbers) { $cnt = count($numbers); for ($i = 0; $i < $cnt; $i++) { for ($j = 0; $j < $cnt - $i - 1; $j++) { if ($numbers[$j] > $numbers[$j + ...原创 2018-09-29 09:49:05 · 123 阅读 · 0 评论 -
php 二分查找
function binarySearch(Array $arr, $target) { $low = 0; $high = count($arr) - 1; while($low <= $high) { $mid = floor(($low + $high) / 2); #找到元素 if($arr[$mid] == $target) re...原创 2018-09-29 09:49:45 · 824 阅读 · 0 评论 -
哈夫曼树
给定n个权值作为n的叶子结点,构造一颗二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称哈夫曼树假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:将w1、w2、…,wn看成是有 n 棵树的森林(每棵树仅有一个结点); 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其左...原创 2019-10-08 17:47:47 · 356 阅读 · 0 评论