当前位置: 首页 > news >正文

网站建站的基本步骤织梦dedeeims网站打不开

网站建站的基本步骤,织梦dedeeims网站打不开,企业网站建设版本,wordpress uazoh7目录 一 堆排序 二 直接选择排序 一 堆排序 堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。它是 通过堆来进行选择数据。 需要注意的是排升序要建大堆,排降序建小堆。 直接选择排…

目录

一 堆排序

二 直接选择排序


一 堆排序

堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。它是 通过堆来进行选择数据。

需要注意的是排升序要建大堆,排降序建小堆。

直接选择排序的特性总结:

1. 堆排序使用堆来选数,效率就高了很多。

2. 时间复杂度:O(N * logN)

3. 空间复杂度:O(1)

4. 稳定性:不稳定

void Swap(int* x, int* y)
{int tmp = *x;*x = *y;*y = tmp;
}
void AdjustDown(int* a, int n, int parent)
{int child = parent * 2 + 1;while (child < n){if (child + 1 < n && a[child + 1] > a[child]){child++;}if (a[child] > a[parent]){Swap(&a[child], &a[parent]);parent = child;child = parent * 2 + 1;}else{break;}}
}void HeapSort(int* a, int n)
{//向下调整建堆//O(N)for (int i = (n - 1 - 1) / 2; i >= 0; i--){AdjustDown(a, n, i);}//堆排序//O(N*logN)int end = n - 1;while (end > 0){Swap(&a[0], &a[end]);AdjustDown(a, end, 0);end--;}
}int main()
{int arr[] = { 2, 3, 5, 7, 4, 6, 8};//InsertSort(arr, sizeof(arr) / sizeof(int));//排升序//InsertSort(arr, sizeof(arr) / sizeof(int));//排升序HeapSort(arr, sizeof(arr) / sizeof(int));//排升序for (int i = 0; i < sizeof(arr) / sizeof(int); i++){printf("%d ", arr[i]);}
}

 

 

我们可以算算向下建堆的时间复杂度

 

 二 直接选择排序

直接选择排序的特性总结:

1. 直接选择排序思考非常好理解,但是效率不是很好。实际中很少使用

2. 时间复杂度:O(N^2)

3. 空间复杂度:O(1)

4. 稳定性:不稳定

void SelectSort(int* a, int n)
{int begin = 0, end = n - 1;while (begin < end){int mini = begin;int maxi = begin;for (int i = begin + 1; i <= end; i++){if (a[i] < a[mini]){mini = i;}if (a[i] > a[maxi]){maxi = i;}}Swap(&a[mini], &a[begin]);//检查maxi是否被换走了if (maxi == begin){maxi = mini;}Swap(&a[maxi], &a[end]);begin++;end--;}
}

本节的重点是堆排序, 对二叉树的顺序结构基础要求很高, 大家如果基础不好或者不太理解,可以看看我二叉树的博客. 

继续加油!

http://www.yayakq.cn/news/226399/

相关文章:

  • 安徽质量工程建设网站网络营销与策划实训
  • 跨境网站开发手机网站来几个
  • 承德网站制作方案电商网站统计怎么做
  • 宝坻建设路小学网站四川网站建设报价
  • 买源码做网站简单嘛南山优化网站建设案例
  • 做公考题的网站国家高新技术企业认定管理工作网
  • 贵阳网站建设网站制作企业推广建站
  • 蚌埠网站建设专业公司wordpress怎么装插件
  • 北京模板建站设计厚街商城网站建设
  • 长沙房产网站南昌推广软件
  • 好看云在线网站模板网站备案有什么坏处
  • 食品网站建设目的怎样登网站
  • 广州网站空间中山网站seo关键词
  • 电子公司logo设计seo推广代理
  • 做app和做网站哪个容易php网站开发工作描述
  • 阿里巴巴国际站客户经理图书网站建设的主要工作流程
  • 企业网站建设一条龙全包晋中网站seo
  • 淘宝客网站模板下载手机网站营销方法
  • 手机网站优化怎么做网络营销专业培训学校
  • 网站职业技能培训学校wordpress优惠券模板
  • wordpress 企业站厦门网站建设有哪些公司
  • 怀化主要网站公司找人做网站需要什么
  • 网站推广怎么做优化泰安直聘网官网
  • 网站运营外包方案广东的一起做网站
  • 网站建设哪家g好seo营销专员
  • 百色建设网站快手推广软件免费版
  • 培训视频网站工信部网站备案查询步骤详解
  • 免费建手机个人网站百度网盘0基础网站开发教程
  • 做图片赚钱的网站海外推广平台有哪些?
  • 网站开发哈尔滨网站开发公司电话cdr平面设计教程