- 博客(5)
- 资源 (15)
- 收藏
- 关注
原创 【算法导论】堆排序
堆排序像合并排序一样,时间复杂度为nlogn;像插入排序一样,是一种原地排序(在任何时候只有常数个元素存储在数组外)。 二叉堆的概念:是一种数组对象,可以被视为一棵完全二叉树,树的每一层都是填满的,最后一层可能除外。 二叉树有两种:最大堆和最小堆。最大堆:父节点不小于子节点。最小堆:父节点不大于子节点。在堆排序中我们使用最大堆;最小堆通常在构造优先队列时使用
2013-06-22 23:18:13 1562
原创 【算法导论】合并排序法
分治法:将原问题划分为n个规模较小而结构与原问题相似的子问题;递归地解决这些子问题,然后再合并其结果,就得到了原问题的解。分治法在每一个递归上都有三个步骤:分解、解决、合并。而在本文中的合并排序法正是运用了这种分而治之的策略:把一个n个元素的数组先分成两个数组,然后继续分下去,知道分成n个数组;然后将其逐一合并排序,最终得到排列好了的数组。下面我们首先看一看合并排序了原理框图:(图中黑色部分看不见
2013-06-08 15:41:25 2070
原创 【C/C++】精确系统延时
在头文件ctime中,定义了一个符号常量CLOCKS_PER_SEC。该常量等于每秒钟包括的系统时间单位数。因此,将系统除以这个单位数,就可以得到秒数。ctime中将clock_t作为clock()作为clock()返回类型的别名。下面具体举例说明: #include #include using namespace std; void main() { cout<<"Enter th
2013-06-02 16:54:35 2231
原创 【算法导论】插入排序法
插入排序法的时间复杂度为n的平方,对于较小的输入规模来说,插入排序法比合并排序法更快些。在最佳情况下,即输入数组已经排序好,则时间复杂度可表示为n,是一个线性函数;在最差情况下,即输入数组是逆序排列时,时间复杂度为.插入排序法的具体实现方法如下: 具体的c/c++语言实现如下: #include #include using namespace std; void Insect
2013-06-02 16:42:05 1708
原创 【C/C++】Cin与Cout
为成为国际语言,C++必须能处理需要16位的国际字符集Unicode,于是在传统的8位char型的基础上添加了wchar_t字符类型。在程序包含iostream文件时,将自动创建8个流对象:cin、cout、cerr、clog以及相对应的用于宽字符流的:wcin、wcout、wcerr、wclog。 Cin 可
2013-06-01 16:29:01 2490
多种插值算法Matlab实现--数学建模
2015-01-22
数学建模 常用算法matlab实现
2013-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人