04 2019 档案
摘要:简介 cap包为通过抓包软件保存下来的数据包文件,不同的抓包软件保存下来的cap包格式也有很大差异,从最开始的4个字节便可以看出,如下列出不同抓包软件的cap包文件前4字节的差异 以下以sniffer抓包的cap文件为示例,但也会介绍下其他cap文件的基本格式。 如下是sniffer cap文件头4
阅读全文
摘要:分治算法思想 前两节的归并排序和快速排序都使用了分治算法的排序思想,分治算法:顾名思义,分而治之,就是将原问题分割成同等结构的子问题,之后将子问题逐一解决后,原问题也就得到了解决。 以下使用分支算法的思想解决一些问题。 逆数对 计算数组中逆数对的个数,一个数组中逆数对的个数能表示数组的有序程度。如下
阅读全文
摘要:简介 Glance是Openstack的镜像服务。可以让用户注册、查找和检索在Openstack环境中使用的虚拟镜像。Openstack镜像服务支持将镜像文件存储在各种类型的存储环境中。例如本地文件系统或分布式文件系统,如Openstack的对象存储服务(Swift)。下边我们开始部署Glance组
阅读全文
摘要:简介 keystone作为openstack的认证服务,有很多组件都需要于keystone交互,所以我们首先来部署keystone组件。 创建数据库 下边需要创建一个keystone数据库,并进行授权 安装配置 修改/etc/keystone/keystone.conf,此为keystone的配置文
阅读全文
摘要:简介 最近在学习openstack,为了更好的实践,自己准备接下来一点一点开始部署openstack,openstack组件众多,部署时可能比较复杂。本次使用的是openstack的pike,不同版本之间可能会有差异,自己可以参照官方文档进行部署。部署环境为CentOS Linux release
阅读全文
摘要:三路快速排序算法分析 双路快速排序算法把等于v的数据分为两部分,方式了数据量一边倒的情况,三路排序算法把排序的数据分为三部分,分别为小于v,等于v,大于v,这样三部分的数据中,等于v的数据在下次递归中不再需要排序,小于v和大于v的数据也不会出现某一个特别多的情况(如下图所示),通过此方式三路快速排序
阅读全文
摘要:双路快速排序算法分析 对于具有大量重复数据的排序按照之前的方式性能会很低,现在我们增加两个标志,想办法把大量重复的数据分到两部分,例如设置v作为标志数据,让等于v的数据分为两部分,如下图所示,这样可以避免两边的数据出现一边倒的情况。 根据以上算法的思想,代码修改如下: 经过性能测试,双路排序算法对具
阅读全文
摘要:算法分析 快速排序算法的时间复杂度为nlog(n)。 基本思想:选择一个元素作为标志,比如下标为k的元素,经过排序使,arr[0,1,2....k-1]的元素小于arr[k],arr[k+1,k+2...n]的元素大于arr[k],然后对arr[0,1,2...k-1]和arr[k+1,k+2...
阅读全文
摘要:算法分析 归并排序算法的时间复杂度能达到nlog(n)。 归并排序算法的基本思想:归并排序算法是把数据逐次分割成每块,对每块进行排序后,然后再进行合并成为一个排好序的数据。 第一步:数据平均分割 第二步:再次对数据进行平均分割,直到数据无法再分割,也就是每份数据只有一个了,然后再对每份数据进行合并,
阅读全文
摘要:简介 以下总结几个基础的排序算法,包括选择排序、插入排序、冒泡排序、希尔排序,这几个排序算法是比较简单的几个。以下给出算法的分析和代码示例。 时间复杂度 选择排序、插入排序、冒泡排序、希尔排序四个排序算法的时间复杂度都是O(n^2)。 算法分析 选择排序 选择排序取第一个元素以此与后续的元素进行比较
阅读全文