自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Wbprime

Powered by Elvis

  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 排序算法之六 堆排序

堆排序(Heap sort),是利用数据结构堆(Heap)来对数列进行排序的方法。堆类似于一种完全二叉树,其元素分布在一个数组之中,不同的树节点编号对应不同的数组索引号。比如:数组10 6 3 7 2 8 9 2 4 1 对应的堆形状类似于:总结起来,就是父节点 i 的左子节点在位置 (2*i);父节点 i 的右子节点在位置 (2*i+1);子节点 i 的父节点在位置 floor(

2012-08-24 12:05:29 278

原创 排序算法之六 快速排序

快速排序(Quick sort),是一种分治算法的实现,其思想为:在待排序数列里面选择一个基准(pivot)将数列分为两个部分,其中基准之前的部分都比基准值小,后半部分大于基准值,这个操作称之为分区(partition);然后分别对前后半部分进行分区操作。算法示例:待排序数组:10 6 3 7 2 8 9 2 4 1   n = 10  首先进行分区。令 left 表示左边界,righ

2012-08-24 10:35:19 240

原创 排序算法之五 归并排序

归并排序(Merge sort),是一种分治排序法,将排序任务分为三个部分:前半部分的递归排序、后半部分的递归排序以及已排好序的前后两部分的合并。归并法是一种递归的算法,是通过函数的递归调用来实现的。示例如下:待排序数组:10 6 3 7 2 8 9 2 4 1 n = 10Step1:原数组分为数组A: 10  6  3  7  2  和数组B:8  9  2  4  1的分别排

2012-08-23 23:13:58 308

原创 排序算法之四 Shell排序

Shell 排序是将待排序序列 d 进行分组排序,分组排好序之后,在增大组数(也就是减小分组间隔)来进行分组排序,一直到分组间隔足够小(为 1 时)就得到了排好序的结果数组。Shell 排序过程示例如下:待排序数组:10 6 3 7 2 8 9 2 4 1      n = 10Step1:以 (10/2 = 5) 为分组间隔进行排序:i 与(i+5),i + 5 结果:10 6

2012-08-23 21:44:19 303

原创 排序算法之三 插入排序

插入排序的原理在于,将数字序列 d 分为两个序列(前者有序,后者无序),每遍历一个元素就将该元素插入到前半部份的合适位置。插入排序的算法原理很容易理解,实现步骤如下:i = 0,将 d[i] 插入到 i 之前的有序序列之中;i = i + 1,将 d[i] 插入到 i 之前的有序序列之中,插入的过程为将自己与自己之前的元素进行比较,如果自己比其前面的元素都大,则什么也不用做;否则就插入

2012-08-23 21:15:58 256

原创 排序算法之二 冒泡排序

冒泡排序(Bubble sort)的算法原理如下:从第一个元素开始,每两个元素进行比较,将较大的元素放在后面;比较之后,进行下一对比较;一直到最后一个元素,这样得到的最后一个元素就是整个数组里面的最大值,这个过程就称之为冒泡。以这种方式对剩余的元素进行冒泡,最后就得到了排好序的数组序列。冒泡排序法是稳定的;算法很简单,下面直接贴出代码。void bubbleSort(double *

2012-08-23 20:54:05 257

原创 排序算法之一 选择排序

开始了对排序算法的学习,现在进行系统地整理一下。说到排序,维基百科上面的解释是,排序算法(Sorting algorithm)是一种能将一串数据依照特定排序方式的一种算法。对排序算法进行分析和评价,可以从时间复杂度(最差和平均)、空间复杂度和稳定度上面来进行。当进行排序时,最容易想到的算法就是,遍历待排序的序列,找出最大值、次大值。。。,然后按照大小顺序进行重排。这就是选择排序的思

2012-08-23 20:03:11 605

转载 ArcToolbox使用之二——Data Managerment Tools

转贴自:http://blog.163.com/lele..tiantian/blog/static/60396264201161810164156/一、Data Comparison(数据比较)1.Feature Compare:比较两要素类返回比较结果,能够返回几何类型、空间参考,字段定义和tabular values的不同之处。2.File Compare:比较两个文件,

2012-08-20 14:29:31 6996

转载 ArcToolbox使用之一——Analysis Tools

转贴自: http://blog.163.com/lele..tiantian/blog/static/60396264201161893954281/一. Extract(提取)1. Clip(剪切):使用一个面对点,线,面进行剪切,以提取所需范围内的数据。2. Select(选择):使用SQL语句将输入的要素类中的部分要素提取出来形成新的一个要素类。

2012-08-20 13:55:31 3337

原创 STL学习笔记之 (五)容器 vector deque list 使用条件

根据vector、deque和list的相关特点,在实际应用中使用的准则如下:需要频繁地随机访问容器内的元素:vector已知需要存储元素的个数:vector需要在容器的中间部分插入或者删除元素:list同时需要在首尾插入删除元素:deque容器的选择主要是看实际应用的需求,主要是操作的频繁性:在相关中间插入操作不频繁的情况下,vector也可以提供list相似的效率;和数据量的大小:

2012-07-24 21:19:49 502

原创 STL学习笔记之 (四)容器 list

list,即俗称的双向链表,通过前向指针和后向指针将所有元素联系在一起。list实现了在任意位置插入、移动和删除元素的高效;但是对于元素的随机访问则无能为力。使用size()可以知道list中已经存放的元素个数,max_size()可以知道可存放元素的最大个数。resize(size_type)可以来调整list的大小。empty()可以用来查看list是否为空。front()和bac

2012-07-24 21:04:16 296

原创 STL学习笔记之 (三)容器 deque

deque,即double end queue,双向队列。不同的平台会提供不同版本的deque实现策略,但归结起来,deque应该是一种指针数组实现。使用deque可以实现元素的随机访问和遍历,同时在起始端和末端插入和删除元素的效率很高;但是,在中间部分插入和删除元素会导致很低的工作效率。deque的内存使用可能是分块存储的,这样可以避免大块内存的重新分配。使用size()可以知道

2012-07-24 20:46:25 867

原创 STL学习笔记之 (二)容器 vector

STL,即Standard Template Library,是C++自带的标准模板库。主要由Alexander Stepanov开发完成,现在已成为C++的一个重要组成部分和特色之处。STL使用了模板机制,将C++编程分解为了三个相互之间独立的部分:数据类型(基本数据类型、类和结构体)、容器(数组和新的STL容器类)以及算法(Algorithm)。按照权威介绍,STL由为5个主要的部分组

2012-07-24 20:34:31 594

原创 STL学习笔记之 (一)模版

最近写了一堆的Qt程序,突然想要重新搞一遍STL。这一次要正规起来,认真做好笔记的记录工作。模版,template,出现的目的就在于减少程序员的工作量,将一些功能相似的函数或者类抽象出来,成为一个模板函数或者模板类。比如最简单的例子,实现交换两个数的函数swap。void swap(int& a, int& b){ int tmp = a; a = b; b = tmp;

2012-07-24 19:32:34 328

Ice3.6.0 手册

官方的Zeroc Ice手册,给网速不给力的童鞋准备的

2016-02-17

空空如也

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

TA关注的人

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