自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (5)
  • 收藏
  • 关注

原创 堆排列

由于每次重新恢复堆的时间复杂度为O(logN),共N - 1次重新恢复堆操作,再加上前面建立堆时N / 2次向下调整,每次调整时间复杂度也为O(logN)。二次操作时间相加还是O(N * logN)。故堆排序的时间复杂度为O(N * logN)。//堆排序:利用 最大堆 max_heap//从数组的0位置开始 int LeftChild(int i){ return (2 * i + 1);

2015-11-30 21:02:07 310

原创 堆和优先队列

//如果使用vector代替array,可以动态改变大小,就不需要struct HeapStruct; template<typename ElementType> struct HeapStruct{ int Capacity; //数组所能存放元素的最大个数 int Size; //当前有限队列的大小 ElementType *Elements; //存放元素的数组

2015-11-30 19:49:46 352

原创 希尔排序

希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的。//希尔排序

2015-11-30 16:24:31 322 1

原创 快速排序

快速排序算法 O(N*logN) //插入排序 从小到大排序 template<typename T> void InsertionSort(T *A, int N){ int j, p; T tmp; for (p = 1; p < N; p++){ tmp = A[p]; for (j = p; j>0 && A[j-1] > tmp;

2015-11-27 11:15:36 300

原创 插入排序

插入排序 对于小数组,插入排序比较好。 O(N2)//插入排序 从小到大排序 template<typename T> void InsertionSort(T *A, int N){ int j, p; T tmp; for (p = 1; p < N; p++){ tmp = A[p]; for (j = p; j>0 && A[j-

2015-11-27 10:44:24 230

原创 AVL树

AVL树是其每一个节点的左子树和右子树的高度差最多差1的二叉查找树。///////////Avl树////////////// struct AvlNode; typedef struct AvlNode* AvlTree; typedef struct AvlNode* Position;struct AvlNode{ ElementType element; AvlTree le

2015-11-24 20:17:48 311

原创 二叉查找树

////////////二叉查找树//////////// struct TreeNode; typedef struct TreeNode* SearchTree; typedef struct TreeNode* Position;struct TreeNode{ ElementType Element; TreeNode *left; TreeNode *right;

2015-11-23 21:19:13 333

翻译 What and where are the stack and heap?

The stack is the memory set aside as scratch space for a thread of execution. When a function is called, a block is reserved on the top of the stack for local variables and some bookkeeping data. When

2015-11-17 20:45:38 290

原创 第十六章 模板与泛型编程

模板是泛型编程的基础。 16.1 定义模板 16.1.1 函数模板   function template 函数模板   关键字 template + 模板参数列表 template parameter list   在模板定义中,模板参数列表不能为空     实例化模板参数 instantiate   编译器推断模板参数   模板的实例:编译器生成的版本     模板类

2015-11-13 17:02:49 357

翻译 C++ difference of keywords 'typename' and 'class' in templates

typename and class are interchangeable in the basic case of specifying a template:template class Foo { };andtemplate class Foo { };are equivalent.Having said that, there are specific cases where

2015-11-13 10:06:45 648

原创 条款49 了解new-handler的行为

#include "stdafx.h" #include <cstring> #include <iostream>void OutOfMenory(){ std::cerr << "unable to satisfy request for memory /n" << std::endl; std::abort(); }int _tmain(int argc, _TCHAR* ar

2015-11-03 19:19:10 393

Visual_Assist_X

该助手适用于VS2013和VS2012等最新vs编译器,方便使用,破解版。

2016-01-15

深度探索C++对象模型

这本书探索“对象导向程序所支持的C++对象模型”下的程序行为。对于“对象导向性质之基础实现技术”以及“各种性质背后的隐含利益交换”提供一个清楚的认识。检验由程序变形所带来的效率冲击。提供丰富的程序范例、图片,以及对象导向观念和底层对象模型之间的效率测量。

2015-11-13

空空如也

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

TA关注的人

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