自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 开始:COM研究学习

前段时间,很忙很忙。出差搞的所有的任务都乱套了,很累。现在基本上正轨了,所有任务基本理顺了,可以继续写点东西了。 最近在处理DLL注册问题,产品中要对注册情况进行验证。因此后续内容调整为COM研究学习。

2016-05-30 13:09:20 304

原创 Linux Vim编程初体验

一、目的学习Liunux进行编程的基本方式,以及Vim调用Shell进行文件编译,Vim文件保存的方式二、测试程序#include <iostream>using namespace std; int main(){ cout << "My Hello World"; cout << endl; return 10;}三、使用

2016-05-04 00:23:15 415

原创 VBox虚拟机磁盘文件移动

一、问题环境:Ubuntu 14.04 虚拟机:VirtualBox 虚拟操作系统:Win7 64bit 问题: Win7虚拟机路径清单: 1)/home/lshuo/VirtualBox VMs/Win7_64 包含:Win7_64.vbox-prev、Win7_64.vbox、Snapshots、Logs 2)/home/lshuo/公共的/VirtualBoxVMs/Win7_6

2016-04-25 23:59:18 1075

原创 Horner规则求解多项式的值

一. 目的与背景知识 1、生成一个多项式 2、根据Horner规则求解多项式的值。 伪代码如下: y=0 for i=n down to 0 y=A[i]+X*Y 上述伪代码即描述了求解A[0]+A[1]X^1+…+A[N] ( X ^N ) 二. 代码实现 1、多项式展示与计算类#include<iostream>namespace MyAlgorit

2016-04-12 23:52:10 676

原创 归并插入排序

一. 目的 当归并排序,划分的分组小于一定值时这些分组进行插入排序。然后对各个分组进行合并。 分析:标准归并排序增加长度限制即刻,长度达到限制,则调用插入排序。 二. 代码实现 1、代码实现 //对分组进行插入排序的归并实现 void MergeSortSubVerInsert(T testArray[], int Begin, int End){

2016-04-12 21:39:17 1724 1

原创 练习:根据和值查找数组中组合

一. 习题与分析 题目:已知集合S,和一个整数X,求集合S中任意两个元素和值等于X的元素组合。算法要求时间复杂度为O(n*log(n)) 分析:1)组合情况总共有n*(n-1)/2,若是一一测试,时间复杂度不够。 2)可以先进行排序,符合这个时间复杂度的排序,然后确定一个元素,通过二分法查找另一元素存在情况。二分法时间复杂度为log(n)肯定符合要求。 二. 代码实现 1、调整日志

2016-04-11 00:44:25 492

原创 二分插入排序(BinaryInsertSort)

一. 目的 练下算法导论习题,通过二分法查找,快速定位插入位置。 二. 实现代码 实现代码 1、排序代码 //二分法插入排序 void InsertSortVerBinary(T testArray[],int nSize){ LogInfo<T> log = LogInfo<T>(); T key;

2016-04-10 22:49:56 825

原创 桶排序(BucketSort)

一. 目的与背景知识 进行桶排序练习。 桶排序按总体将数据进行分组若干,组内插入排序。组内元素通过链表连接。二. 代码实现 调整数据生成类可以生成带小数位的浮点数。 TestDataCreator(ArrayType nArrayType = PositiveArray){ Sleep(1000);//暂停一秒,否则产生相同的随机种子

2016-04-05 23:35:37 322

原创 基数排序(RedixSort)

一. 目的与说明 进行基数排序练习。基数排序是对整数的每一位进行稳定排序。多次排序后,数据呈现有序状态。注意必须是稳定排序。可以推广到浮点数。二. 代码实现 定义进制常量#define NUMBER_SYSTEM 10定义获取数字位数与制定位的数字 //获取整数位数 int GetDigitWidth(int nNum){ int nWid

2016-04-05 01:57:39 436

原创 思考未来(一)

今天看了几篇关于人工智能的探讨问题。不由自主的思考未来。未来社会会怎样?为什么会这样?我们将如何应对这样的未来? 未来是一个充满矛盾的未来。机器会逐渐全面代替了人的低级劳动。人如何从低级劳动中成长到高级劳动,缺乏了低级劳动到高级劳动这个过渡环节,新生的人在社会的上升渠道也就此断绝。无解,或许通过虚拟现实训练吧? 想多了,从过去寻找答案。从知识不丰富的过去到信息大爆炸的现在

2016-04-04 22:45:39 338

原创 计数排序(CountingSort)

一. 背景知识与目的 1、进行计数排序练习。 2、计数排序说明: 计数排序只适用于整数的排序。 3、实现原理: 1)假设整数带排序数组A[1..N]从0…K中的任意整数的数组。建立计数数组C[0…K],元素初始为0 2)然后计算A[j]元素值的个数,放在计数数组中,计算方法遍历A[1…N],C[A[j]]=C[A[j]]+1。 3)由于C[0…N]标识每个位置上的元素的个数,前一个元素

2016-04-03 02:24:23 546

原创 归并排序(MergeSort)

一. 背景与目的 进行归并排序的练习。学习分治思想。 算法验证: 第一步:对数组A[1…N]进行中分,直到每两个元素一组。 第二步:对于每个划分进行合并,按大小合并。合并成一个有序数组。依次递归。 第三步:对A[1…M],A[M+1…N]进行合并,则A[1…N]是一个有序数组。算法证明完毕。二. 代码实现 实现代码: //归并排序 void MergeSor

2016-04-03 00:34:57 256

原创 快速排序测试(QuickSort)

一. 目的 进行快速排序练习,掌握快速排序的原理。 算法证明: 第一步,数组分为四个区,无序小于关键值区A[1]-A[i],无序大于关键值区A[i+1]-A[j],待划分区A[j+1]-A[N-1],关键值区A[N],第一步时,只有两个区域不为空,即带划分区A[1]-A[N-1],关键值区A[N] 第二步:进入循环处理,若存在可以放在无序小区的元素,则将无序大区则将无序大区的下界元素与A[j

2016-03-27 23:13:27 1905

原创 冒泡排序练习(Bubble Sort)

一. 目的 1)交换排序就是,调整序列中不符合顺序的元素进行交换,最终序列整体符合目标次序。 2)进行冒牌排序练习。 3)算法证明: 初始:将第二个元素与第一个元素进行调整,使之符合从小到大数序。 递归步骤:将第K个元素与前K-1个元素从小到大依次调整,将不符合的元素放在K位置,K放在正确位置。此时K与正确位置元素之后的元素一一交换,K充当中间变量,直到K-1元素与K元素调整。这样得到K个

2016-03-24 22:29:56 713

原创 堆排序练习(Heap Sort)

一. 目的以及背景知识进行堆排序练习,掌握堆的构建与输出。 堆定义: 对于序列A[1,N],对于任意i都有A[i]>=A[2i],A[i]>=A[2*i+1],则该序列称为大顶堆或者最大堆。反之则成为最小堆。 堆筛选或堆调整: 从最后一个叶子结点开始筛选出该节点的兄弟结点与父节点中最大或最小的元素与父节点交换。 建堆算法证明: 第一步:i=N/2时,i+1,..N都是叶节点,

2016-03-23 00:19:21 865

原创 简单选择排序练习(Simple Selection Sort)

一. 目的 进行简单选择排序练习。 算法证明: 第一步:J=2时,序列为A[1],选择A[2…N]中最小的一个与A[1]交换,保证了A[1]为有序序列,且A[1]小于A[2…N]中任意个元素。 第二步:J=K时正确,即A[1…K-1]为有序序列,且A[k-1]为有序序列的最大值,且A[k-1]小于A[k…N]中任意元素。当j=k+1时,选择A[k…N]中最小的元素,放在A[k]位置,得到有序

2016-03-20 19:48:58 561

原创 希尔排序练习(Shell's sort)

目的 进行希尔排序练习。明白希尔排序原理。 希尔排序:将间隔d的元素视为待排序数组,对该数组进行插入排序。然后逐步缩小d的值,最后直到d=1。这个特点又可以称呼希尔排序为缩小增量排序。 d=1时为直接插入排序。 d值的取法一般为折半获取,即每次排序完成,d=d/2.代码 实现代码: void ShellSort(T testArray[], int nSize){

2016-03-16 23:12:16 608

原创 直接插入排序(Straight Insertion Sort)

知识背景与目的 进行直接插入排序算法练习,使用上篇的数据生成测试。 插入排序:将待排序的元素插入到已经排序好的有序序列中。 插入排序常见的有:直接插入排序(straight Insertion Sort)与希尔排序(shell’s Sort) 直接插入排序:逐个将元素插入带已经排序好的有序序列中。 归纳法证明: 第一步:i=1,单个元素,肯定是已经排序好的。 第二步:i=j,将第j+1

2016-03-16 01:13:49 362

原创 C++排序算法的测试数组生成模版

目的 编写一个可以生成数组的模版类,用于后续的排序算法测试。 模版类包含如下功能: 1)可以生成简单类型的特定长度,特定元素顺序的数组。 2)可以进行生成数据的展示。 3)提供外部可以获得内部生成数组的接口。代码实现 模版类:/*******************************************************************************

2016-03-14 23:29:37 743 1

原创 开博了

新年新气象,某人要大干一场了!

2015-12-31 20:28:29 303

空空如也

空空如也

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

TA关注的人

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