常用的排序算法

在日常工作中,虽然很少用到排序算法,但是,掌握一些常用的排序算法却是不可缺少的。尤其是一些公司的面试题,会经常提到这个。最近在一次面试过程中,就问到了相关问题,借此机会做一些整理,也好加深一些理解和记忆。 排序算法汇总 以下为排序算法汇总表: 算法分类 算法名称 交换排序 冒泡排序 鸡尾酒排序 奇偶排序 梳排序 侏儒排序 快速排序 臭皮匠排序 Bogo排序 插入排序 插入排序 希尔排序 伸展排序 二叉查找树排序 图书馆排序 耐心排序 归并排序 归并排序 梯级归并排序 振荡归并…

二分查找算法

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功…

位运算

在许多古老的微处理器上,位运算比加减运算略快,通常位运算比乘除法运算要快很多。在现代架构中,位运算的运算速度通常与加法运算相同(仍然快于乘法运算)。 废话不说,直接上代码。

Hadoop2.2集群安装

由于数据量的增加和业务的需求,公司从14年年初,开始调研和使用Hadoop生态圈的相关技术,在这期间,我们逐渐上了Hadoop、Hive、Flume等服务,并完成了对老统计业务的迁移。 Hadoop从2.x实现了用来管理集群资源的YARN框架,可以面向任何需要使用基于HDFS存储来计算的需要,MapReduce作为外围的插件式的计算框架,你可以根据需要开发或者选择合适的计算框架。 Hadoop集群节点规划与配置 Hadoop集群中节点的配置信息,以及各个节点的角色,整理如下表…

Ganglia 3.6 安装

1、介绍 Ganglia 是 UC Berkeley 发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia 的核心包含 gmond、gmetad 以及一个 Web 前端。Ganglia 集群主要用来监控系统性能,它由 RRDTool 工具处理数据,并生成相应的监控相关的图形,并提供一个 Web 控制台来直观地提供给客户端,管理员可以通过丰富的图形来对整个被监控的物理机器集群节点进行评估。Ganglia 能够监控的内容很多,如 CPU 利用率 、Mem 利用率…

Blog内容发布设计

开发一套博客系统的话,主要分两部分。一部分是内容发布,另一部是内容展示。 内容发布需要一个编辑方便,所见即所得的编辑器,并能将编辑内容转成 Html 后保存起来。由于我想采用 Markdown 编辑,且不想实现 Markdown 内容转 Html 的开发(使用过 Python-markdown2,感觉并不是很理想),所以,我这里采用 MarkdownPad2 进行编辑,然后生成 Html 保存起来,由 Python 程序按照设计的规则解析成 Html,并存入数据库。(当然,我…