现在位置: 首页 > 算法 > 文章
2020年02月18日 算法 ⁄ 共 2591字 评论关闭
  计算机最基本的操作单元是字节,一个字节由8个位组成,一个位只能存储一个0或1。所有数据在计算机中都是采用二进制,即 1 和 0 的编码存储和运算。   这次尝试在 PHP 中使用位运算实现四则运算,首先介绍一些基本概念:   原码:将最高位作为符号位(0表示正,1表示负),其它数字位代表数值本身的绝对值。   反码:正数反码和原码一样;如果是负数,符号位不变,其余各位取反。   补码:正数补码和原码一样;负数补码...
阅读全文
2020年02月18日 算法 ⁄ 共 832字 评论关闭
  一、echo与print区别   echo 支持多个字符串输出,用逗号(,)隔开,print只支持一个字符串输出;   echo 输出速度比print快;   echo 没有返回值,print返回值总是1。   二、echo与print使用   echo 是一个语言结构函数,使用可以带(),也可以不带括号。   例如:   PHPecho ("这是一个字符串输出");   echo "这是一个字符串输出";   print的使用方法与echo一致。   知识点扩展:   一般来说,PHP中动态...
阅读全文
2020年02月18日 算法 ⁄ 共 1216字 评论关闭
  算法,即解决问题的方法。同一个问题,使用不同的算法,虽然得到的结果相同,但是耗费的时间和资源是不同的。   就比如要拧一个螺母,使用扳手还是钳子是有区别的,虽然使用钳子也能拧螺母,但是没有扳手好用。   “条条大路通罗马”,解决问题的算法有多种,这就需要判断哪个算法“更好”。   算法VS程序   很多人误以为程序就是算法,其实不然:算法是解决某个问题的想法、思路;而程序是在心中有算法的前提下编写出来...
阅读全文
2020年02月18日 算法 ⁄ 共 202字 评论关闭
  用Python这么久了,只知道else与if很搭,其实跟else关系很好的关键词还有while、for。   一、while   1.1 最基本的while循环   while condition:   statements   只要condition条件是True,程序就执行while代码块中的statements。例如:   restrict = 5   index = 1   while index   print('{}
阅读全文
2020年02月18日 算法 ⁄ 共 5491字 评论关闭
  RabbitMQ 是一个基于 AMQP 协议实现的企业级消息系统,想要顺畅的玩耍的前提是得先了解它,本文将主要介绍 rabbitmq 的一些基本知识点.   一. 基本知识点   它是采用 Erlang 语言实现的 AMQP(Advanced Message Queued Protocol)的消息中间件,最初起源于金融系统,用在分布式系统存储转发消息,目前广泛应用于各类系统用于解耦、削峰。   1.特点   首先得了解一下 rabbitmq 的特点,看看是否满足我们的系统需求(毕...
阅读全文
2020年02月17日 算法 ⁄ 共 4983字 评论关闭
  本文将介绍几种常见的限流(Rate Limiting)算法,以及各自的优缺点,之后将介绍分布式集群环境下如何设计限流算法,最后展示Kong是如何实现的。   限流(Rate Limiting, 即速率限制)通过限制每个用户调用API的频率来防止API被过度使用,这可以防止他们因疏忽或恶意导致的API滥用。在没有速率限制的情况下,每个用户可以随心所欲地请求,这可能会导致“峰值”请求,从而导致其他用户得不到响应。在启用速率限制之后,它们的请...
阅读全文
2020年02月17日 算法 ⁄ 共 2722字 评论关闭
  本文实例讲述了PHP自定义函数实现格式化秒的方法。分享给大家供大家参考,具体如下:   function vtime($time) {   $output = '';   foreach (array(86400 => '天', 3600 => '小时', 60 => '分', 1 => '秒') as $key => $value) {   if ($time >= $key) $output .= floor($time/$key) . $value;   $time %= $key;   }   if($output==''){   $output=0;   }   return $output;   } ...
阅读全文
2020年02月14日 算法 ⁄ 共 3595字 评论关闭
  桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。为了使桶排序更加高效,我们需要做到这两点:   在额外空间充足的情况下,尽量增大桶的数量。   使用的映射函数能够将输入的 N 个数据均匀的分配到 K 个桶中。   同时,对于桶中元素的排序,选择何种比较排序算法对于性能的影响至关重要。   1. 什么时候最快   当输入的数据可以均匀的分配到每一个桶中。   2. 什...
阅读全文
2020年02月14日 算法 ⁄ 共 5368字 评论关闭
  基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。   1. 基数排序 vs 计数排序 vs 桶排序   基数排序有两种方法:   这三种排序算法都利用了桶的概念,但对桶的使用方法上有明显差异:   基数排序:根据键值的每位数字来分配桶;   计数排序:每个桶只存储单...
阅读全文
2020年02月14日 算法 ⁄ 共 1167字 评论关闭
  用最简单的方法,通俗易懂的方法计算结构体大小。   结构体计算要遵循字节对齐原则。   结构体默认的字节对齐一般满足三个准则:   1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;   2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding);   3) 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译...
阅读全文