自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 二分查找详解

基本概念:在计算机科学中,二分搜索(binary search),也称折半搜索(half-interval search),是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不

2016-09-20 22:35:51 1046

原创 八大排序算法详解

基本概念:冒泡排序详解选择排序详解插入排序详解希尔排序详解归并排序详解快速排序详解堆排序详解基数排序详解时间复杂度:计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个关于代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,它考察当输

2016-09-17 23:47:54 1439 2

原创 基数排序详解

基本概念:基数排序(英语:Radix sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。它是这样实现的:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到

2016-09-17 22:42:06 4874 2

原创 堆排序详解

基本概念:要了解堆排序,首先要了解什么是堆,要了解堆,还要先了解什么是完全二叉树。一、什么是完全二叉树?完全二叉树(complete binary tree)有严格的形状要求:从根节点起每一层从左到右填充。一棵高度为d的完全二叉树除了d-1层以外,每一层都是满的。底层叶节点集中在左边的若干位置上。完全二叉树如下图:二、什么是堆?堆实际上是一棵完全二叉

2016-09-13 22:43:15 1845

原创 快速排序详解

基本概念:快速排序是一种分治的排序算法,由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。如何切割成两部分:a) 假设有两个指针low和high,它们的初值分别为low和hi...

2016-09-11 00:17:24 984

转载 Linux下CPU使用率与机器负载的关系与区别

当我们使用top命令查看系统的资源使用情况时会看到 load average,如下图所示。它表示系统在1、5、15分钟的平均工作负载。那么什么是负载(load)呢?它和CPU的利用率又有什么关系呢?load average:系统平均负载是CPU的Load,它所包含的信息不是CPU的使用率状况,而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队

2016-09-10 20:52:45 1897

原创 redis集群故障分析

故障表象:业务层面显示提示查询redis失败集群组成:3主3从,每个节点的数据有8GB机器分布:在同一个机架中,xx.x.xxx.199xx.x.xxx.200xx.x.xxx.301redis-server进程状态:通过命令ps -eo pid,lstart | grep $pid,发现进程已经持续运行了3个月发生故

2016-09-10 20:06:23 17806 2

原创 归并排序详解

基本概念:归并排序(英语:Merge sort,或mergesort),是建立在归并操作上的一种有效的排序算法,效率為O(n log n)。1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。归并操作(merge),指的是将两个已经排序的序列合并成一个序列的操作。归并排序算法依赖归并操作。

2016-09-08 00:07:37 2909

原创 希尔排序详解

基本概念:希尔排序按其设计者希尔(Donald Shell)的名字命名,它是一种基于插入排序的快速排序算法,要了解希尔排序,必须先掌握插入排序的原理与实现。希尔排序通过将比较的全部元素分为几个区域来提升插入排序的性能。这样可以让一个元素可以一次性地朝最终位置前进一大步。然后算法再取越来越小的步长进行排序,算法的最后一步就是普通的插入排序,但是到了这步,需排序的数据几乎是已排好的

2016-09-06 00:04:39 30931 9

原创 插入排序详解

基本概念:通常人们整理扑克牌的方法是一张一张的来,将每一张牌插入到其他已经有序的牌中的适当位置。在计算机的实现中,为了给要插入的元素腾出空间,我们需要将其余元素在插入之前都向右移动一位。这种算法叫插入排序(insert sort)。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用

2016-09-04 23:08:48 2403

原创 选择排序详解

基本概念:选择排序(selection sort)是这样的:首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。这种方法叫做选择排序,因为它在不断地选择剩余元素之中的最小值。选择排序的时间复杂度为O(n²),时间复杂度可

2016-09-04 18:11:24 1831

原创 冒泡排序详解

基本概念:冒泡排序(bubble sort)并没有什么特殊的价值,它是一种相对较慢的排序。冒泡排序包括一个简单的双重for循环。第一次内存for循环从记录数组的底部比较到顶部,比较相邻的值,如果低序号的值比高序号的值大,则将二者交换顺序,这个过程将使它像个气泡一样被推到数组的顶部。第二次再重复调用上面的过程,但是既然知道最大元素第一次就被排到了数组的最上面(数组尾),因此就没有再比较最上面两个元素的必要了。

2016-09-04 14:20:26 2007

原创 IPC(进程间通信)概述

基本概念:大多数重要的程序都涉及进程间通信(Interprocess Communication,IPC)。这是受下述设计原则影响的自然结果:把应用程序设计为一组互相通信的小片段比将其设计为单个庞大的程序更好。ICP主要有四种形式:(1)消息传递(管道、FIFO和消息队列);(2)同步(互斥量、条件变量、读写锁、文件和记录锁、信号量);(3)共享内存(匿名的和具名的);

2016-09-02 23:24:38 1126

linux环境的wmi-1.3.13.tar.bz

linux下的wmic命令,用于查询windows服务器主机的状态

2012-10-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除