- 博客(6)
- 资源 (7)
- 收藏
- 关注

原创 各排序算法性能分析
插入排序:最坏时间始n^2快速排序和插入排序的区别是:插入排序始将关键字插入已排序的子序列中,而快速排序始>对整个文件,把基准关键字放到正确的位置上。快排最坏时间依然是n^2, 平均时间始nlgn。在堆排序:的过程中只需一个辅助空间!所以空间 复杂度为 0(1)堆排序的时间复杂度为 nlgn;由于堆排序过程需要进行任意位置上记录的移动:; 待筛结点值存放于辅助单元中和交
2014-03-19 14:02:22
513

原创 C++ 数组转化为单链表,双向链表的创建
typedef struct Student{int data;struct Student*next;}node; int arr[]={3,4,9,1,5,2,8,0,6,7}; node*head=(node*)malloc(sizeof(node)); node* ptr; head->data=arr[0]; head->next=NU
2014-03-11 19:46:37
3325

原创 C++ 快速排序 递归实现
在各排序算法中,由C.A.R.Hoare提出的快速排序方法的平均时间性能最好,在插入排序中,根据已排序的字文件,把控制当前插入操作的关键字K放到正确的位置上。与插入排序不同的是,快速排序根据整个文件,把控制当前排序进程的基准关键字放到正确的位置上。在快速排序中,如果把关键字k防止在位置s(i)处,那么,当j,而当j〉s(j)时,则有Kj>k(si),因此当把关键字放在S(i)处时,原来的一个文
2014-03-11 14:47:36
544

原创 C++ 归并排序 递归实现
////////////////////////////vs中可直接运行/////////////////////////////////#include "stdafx.h"#includeusing namespace std;////////////////////归并两个已排序的表///////////////////////前一个表为start到mid 第二个表为mi
2014-03-11 11:17:43
850

原创 C++ 堆排序算法(大堆)
#include using namespace std;//对中的根元素从0开始void adjustHeap(int list[],int root,int n){ int temproot=list[root]; int child=2*root+1; while(child { if(child { child++; }
2014-03-10 21:45:21
1808

原创 vector,list,deque,map,capacity和size的区别等容器总结
1、我们不能对内置数组进行拷贝,但是可以对array进行拷贝: eg,inta[10]={1,2,3,4,,5,6}; int copy[10]=a //wrong array arr={1,2,3,4,5,6}; array arr1=arr //right
2014-03-07 20:12:35
1162
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人