自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

静水流深

桃李不言,下自成蹊。

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

原创 【算法导论】第六章 再谈 堆排序和最大优先级队列

摘自书本:这一部分将要给出几个解决以下排序问题的算法:输入:n 个数的序列( a1,a2,……,an )。输出:输入序列的一个重排 (a1’,a2’,……,an’ ),使 a1’ 输入序列通常是一个 n 元 数组,但也可能由其他形式来表示,如链表。输入数据的结构在实际中,待排序的数很少是孤立的值,他们通常是一个称为 记录 的数据集的一部分。每个记录有一个关键

2014-04-27 13:39:34 645

原创 【算法导论】第二章 算法入门 重点摘要

伪代码 在《算法导论》中,主要用伪代码书写的程序形式来表达算法,这种伪代码在很多方面都与 C、Pascal 或 Java等语言比较相似。如果熟悉这几种语言的话,阅读书中的算法时应该不会有什么困难。伪代码与真实代码的不同之处在于,在伪代码中,可以采用最具表达力的、最简明扼要的方法,来表达一个给定的算法。有时,最清晰的方法就是英语,因此,当遇到在一段“真正的”代码中嵌入了一个英语短语或者句子的时候

2014-04-26 16:15:38 880

原创 QuickSort 快速排序算法

引子:快速排序算法,被列为 20 世纪 十大算法之一。希尔排序相当于直接插入排序的升级,只是增加了increment的设置,利用了基本有序的思想,同属于插入排序类。堆排序相当于简单选择排序的升级,他们同属于选择排序类,只是通过构建堆(完全二叉树)的方式,让选择最大项更加快速。而快速排序其实就是我们前面认为最慢的冒泡排序的升级,他们同属于交换排序类。即它也是通过不断比较和移动交换来实现排序的,不

2014-04-22 21:50:02 881

原创 归并排序

引子:高考分数线的制定,比如一本大学生全国共招生1所谓的全省排名,其实也就是每个市、每个县、每个学校、每个班级的排名合并后再排名得到的。

2014-04-22 21:32:58 942 2

原创 排序(三) 堆排序

堆排序

2014-04-20 23:24:58 1269

原创 排序(二)简单选择排序、直接插入排序、希尔排序

本编博客介绍了两种三种排序方法,包括1. 简单选择排序

2014-04-17 23:24:00 977

原创 排序(一) 冒泡排序

思路两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。冒泡排序初级版

2014-04-16 23:03:37 784

原创 平衡二叉树(AVL树)

平衡二叉树或者是一颗空树,或者它的左右子树都是平衡二叉树,且左子树和右子树的深度之差不超过1 。BF(Balance Factor)我们将二叉树上节点的左子树深度减去右子树深度的值成为平衡因子。那么平衡二叉树上所有节点的平衡因子只可能是-1,0,1.只要二叉树上有一个节点的平衡引子的绝对值大于1,则该二叉树就是不平衡的。

2014-04-15 21:19:50 1636

原创 二叉排序树(查询、插入、删除)

“二叉排序树,又称为二叉查找树。它或者是一颗空树,或者具有下列性质的二叉树。若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值;它的左、右子树也分别为二叉排序树。构造一颗二叉排序树的目的,其实并不是为了排序,而是为了提高查找和插入删除关键字的速度。不管怎么说,在一个有序数据集上的查找,速度总

2014-04-14 22:00:03 48689 18

原创 线性索引查找 - 概念

线性索引查找索引:就是把一个关键字与它对应的i记录相关联的过程,一个索引由若干个索引项构成,每个索引项至少应包含关键字和其对应的记录在存储器中的位置等信息。索引按照结构可以分为:线性索引、树形索引和多级索引。线性索引是将索引项集合组织为线性结构,也称为索引表。包括稠密索引、分块索引、倒排索引。1. 稠密索引一个完美的引子:我母亲年纪大了,记忆力不好,经常

2014-04-14 16:34:30 5638

原创 查找(顺序查找、二分查找、插值查找)

查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。查找表按照操作方式来分有两大种:静态查找表和动态查找表。动态查找表:在查找过程中同时插入查找表中不存在的数据元素,或者从查找表中删除已经存在的某个数据元素。1. 顺序查找/* 顺序查找,a为数组,n为要查找的数组元素个数,key为要查找的关键字*/int Sequential_Sear

2014-04-11 17:58:49 30932 10

原创 数据结构和算法的基本概念

几个问题:1. 为什么要学习数据结构?     早起人们把计算机理解为数值计算工具,就是感觉计算机当然是用来计算的,所以计算机解决问题,应该先从具体问题中抽象出一个适当的数据模型,设计出一个解此数据模型的算法,然后再编写程序,得到一个实际的软件。     可现实中,我们更多地不是解决数值计算的问题,而是需要一些更科学有效的手段(比如表、树、图等数据结构)的帮助,才能更好地处理问题。所以

2014-04-10 18:16:20 1289

Java RESTful Web Service实战.pdf

书籍的一部分,主要是讲解jersey的,为数不多的一本相关的书籍。

2015-09-20

空空如也

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

TA关注的人

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