堆排序是一种原地排序排序算法,不使用额外的数组空间,运行时间为O(nlgn)。本篇文章我们来介绍一下堆排序的实现过程。
要了解堆排序,我们首先来了解一个概念,完全二叉树。堆是一种完全二叉树或者近似完全二叉树。什么是完全二叉树呢?百度百科上给出定义:完全二叉树:除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺少右边的若干结点。下面用两个小图来说明完全二叉树与非完全二叉树。(图片来自百度...
分类:
编程语言 时间:
2016-04-10 11:34:35
阅读次数:
294
来自百度百科的一段话: JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的< ...
分类:
Web程序 时间:
2016-04-09 10:47:21
阅读次数:
470
字节序,是指字节在内存中的存储顺序。其又分为大端字节(Big-Endian)序和小端字节序(Little-Endian)。 以下摘自百度百科: a) Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。 b) Big-Endian就是高位字节排放在内存的低地址端 ...
Java反射-初步入门 学反射先了解什么是反射。 百度百科:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 上面提到了类和对象,先了解什么 ...
分类:
编程语言 时间:
2016-04-06 14:48:51
阅读次数:
269
背景: 这几天玩的有点多了,代码敲少,今天补一发练习,顺便把前两天做的一个题也贴上。 正题: 1、归并排序 概念(来源百度百科):归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列; ...
分类:
编程语言 时间:
2016-04-04 13:11:22
阅读次数:
251
先说说高精度运算的概念:
是指参与运算的数(加数,减数,因子……)范围大大超出了标准数据类型(整型,实型)能表示的范围的运算。例如,求两个200位的数的和。这时,就要用到高精度算法了。(摘自百度百科)。...
分类:
编程语言 时间:
2016-03-31 10:59:26
阅读次数:
219
恢复内容开始 接算法的上一系列,在前几篇博客中,已经分析了 交换算法(冒泡排序,快速排序)、插入算法(直接插入排序,希尔排序),这一系列我们谈谈选择排序。 选择排序分为两种,一种是直接选择排序,一种是堆排序,下面我们看 直接选择排序: 百度百科: 选择排序(Selection sort)是一种简单直 ...
分类:
编程语言 时间:
2016-03-30 00:07:12
阅读次数:
407
XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建 XAMPP 软件站集成软件包。介绍什么的,参见百度百科http://baike.baidu.com/link?url=-UE7PsiH2bYtv1N5P82NNPpt8l6KJzwuIvBdydCdf5Ol4QBP8invK
分类:
Web程序 时间:
2016-03-21 12:06:16
阅读次数:
133
伪随机数概念在我大学一年级接触C语言基础的时候就听说过,并熟练掌握C语言中rand()函数的使用方法。不过,当时我对伪随机数的认识基本也就停留在百度百科那种小白水平,最多就知道老师说我们用的随机数是假的,是通过某种算法实现的。最近学习计算物理学讲到Monte Carlo方法时,通过课本和互联网才算真
分类:
编程语言 时间:
2016-03-21 00:05:03
阅读次数:
311