软件开发中常用的算法
文章平均质量分 94
总结在软件开发中常用的算法,探究其中原理,结合自身实践,提出常用的解决方案和思路。
zzw222222
这个作者很懒,什么都没留下…
展开
-
(八)实际项目中涉及到的缓存数据结构及算法
软件开发中常用的缓存算法主要有:FIFO-先进先出算法,LRU-最近最久未使用,LFU-最近最少使用。实际项目中缓存算法对这些都有涉及。一、理论:1.FIFO:特点:先进先出,符合公平性,实现简单。数据结构:使用对列淘汰原则:如果一个数据最先进入缓存中,则应该最早淘汰掉。也就是说,当缓存满的时候,应当把最先进入缓存的数据给淘汰掉。2.LRU:特点:按照时间长短,最近最久原创 2016-12-06 12:41:54 · 4051 阅读 · 0 评论 -
(七)实际项目中常用的加密算法及使用场景
一.支付接口常用加密算法:例如支付宝接口对接中经常涉及到:md5、 rsa两种算法。各大银行接口中经常使用MD5算法对调用接口参数进行签名防篡改。1.MD5(1)MD5定义:MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。原创 2016-10-27 09:27:44 · 9910 阅读 · 0 评论 -
(六)实际项目中分布式ID生成算法
一、需求缘起几乎所有的业务系统,都有生成一个记录标识的需求,例如:(1)消息标识:message-id(2)订单标识:order-id(3)帖子标识:tiezi-id这个记录标识往往就是数据库中的唯一主键,数据库上会建立聚集索引(cluster index),即在物理存储上以这个字段排序。这个记录标识上的查询,往往又有分页或者排序的业务需求,转载 2016-10-26 17:26:25 · 4881 阅读 · 0 评论 -
(五)实际项目中分布式系统设计涉及算法总结
paxos算法:basic paxos(读帕克索斯)实现的,另外一种是基于fast paxos算法。一致性哈希算法: 一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所原创 2016-10-26 17:12:36 · 1859 阅读 · 0 评论 -
(四)实际项目中负载均衡调度算法实际应用
部分内容参考网上,如有问题,请留言。(一).HAProxy的算法有如下8种:一、roundrobin,表示简单的轮询,这个不多说,这个是负载均衡基本都具备的;二、static-rr,表示根据权重,建议关注;三、leastconn,表示最少连接者先处理,建议关注;四、source,表示根据请求源IP,建议关注;五、uri,表示根据请求的URI;六、url_param,表示原创 2016-10-26 17:05:44 · 5970 阅读 · 0 评论 -
(三)实际项目中数据结构—队列的应用
1.队列:一种数据结构,有非阻塞对列和阻塞对列特点:先进先出两种典型操作:队尾添加、队头删除非阻塞对列:当对列满或空时进行插入或者读取删除操作,抛出异常或者返回false,不对当前线程阻塞,没有同步或者唤醒策略。阻塞对列:当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。2.阻塞队列使用:多线程协调,合作线程原创 2016-10-25 10:06:26 · 5122 阅读 · 0 评论 -
(二)实际项目使用的开发语言中排序算法实现
一.常用排序算法:冒择路希快归堆。数组排序算法时间复杂度对比:算法时间复杂度空间复杂度 最佳平均最差最差QuicksortO(n log(n))O(n log(n))O(n^2)O(log(n))MergesortO(n log(n))原创 2016-10-19 13:18:59 · 1847 阅读 · 0 评论 -
(一)实际项目中树形数据结构与递归算法应用
在每个项目中都涉及到菜单的展示,在这里普遍用到了树形数据结构和递归算法:举例如下:建表:1.模拟效果图:2.代码片段:3.数据库中运用sql进行树形查询:mysql比较麻烦,稍后展开oracle树形查询,使用Start with...Connect By子句递归查询,一般用于一个表维护树形结构的应用。创建示例表: CREATE原创 2016-10-19 11:25:11 · 3195 阅读 · 2 评论