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

shopex网站首页空白免费网站制作开发公司

shopex网站首页空白,免费网站制作开发公司,WordPress预各式华化,自由贸易区的建设网站目录 1.基本原理2.例子3.代码实现 本文主要介绍堆排序的原理、例子以及代码实现。 1.基本原理 堆排序#xff08;Heap Sort#xff09;是一种基于比较的排序算法#xff0c;它的工作原理是首先将待排序的序列构造成一个大顶堆或小顶堆#xff0c;然后交换堆顶元素和最后一… 目录 1.基本原理2.例子3.代码实现 本文主要介绍堆排序的原理、例子以及代码实现。 1.基本原理 堆排序Heap Sort是一种基于比较的排序算法它的工作原理是首先将待排序的序列构造成一个大顶堆或小顶堆然后交换堆顶元素和最后一个元素然后将剩余元素重新调整为大顶堆或小顶堆再交换堆顶元素和最后一个元素如此反复直到所有元素都排好序。 堆排序的步骤如下 构造大顶堆或小顶堆对于每一个非叶子节点保证其值大于或小于其子节点的值。将堆顶元素与最后一个元素交换然后将剩余元素重新调整为大顶堆或小顶堆。重复步骤2直到所有元素都排好序。 堆排序的时间复杂度为O(nlogn)空间复杂度为O(1)。 2.例子 假设我们有一个待排序的数组 [4, 10, 3, 5, 1]我们想要对其进行升序排序可以使用堆排序具体步骤如下 首先我们将数组构造成一个大顶堆。大顶堆是一种满足父节点的值大于或等于其子节点值的二叉树。构造大顶堆后数组变为 [10, 5, 3, 4, 1]。然后我们将堆顶元素即当前最大的元素10与最后一个元素1交换位置然后将剩余的元素即除去最后一个元素的其他元素重新调整为大顶堆。交换并调整后数组变为 [5, 4, 3, 1] 和 [10]。我们再次将堆顶元素5与最后一个元素1交换位置然后将剩余的元素重新调整为大顶堆。交换并调整后数组变为 [4, 1, 3]、[5, 10]。重复上述步骤直到所有元素都排好序最终得到的数组为 [1, 3, 4, 5, 10]。 以上就是一个堆排序的具体例子。 3.代码实现 以下是堆排序的C语言实现 #include stdio.hvoid swap(int *a, int *b) {int t *a;*a *b;*b t; }void heapify(int arr[], int n, int i) {int largest i;int left 2*i 1;int right 2*i 2;if (left n arr[left] arr[largest])largest left;if (right n arr[right] arr[largest])largest right;if (largest ! i) {swap(arr[i], arr[largest]);heapify(arr, n, largest);} }void heapSort(int arr[], int n) {for (int i n / 2 - 1; i 0; i--)heapify(arr, n, i);for (int in-1; i0; i--) {swap(arr[0], arr[i]);heapify(arr, i, 0);} }void printArray(int arr[], int n) {for (int i0; in; i)printf(%d , arr[i]);printf(\n); }int main() {int arr[] {12, 11, 13, 5, 6, 7};int n sizeof(arr)/sizeof(arr[0]);heapSort(arr, n);printf(Sorted array is \n);printArray(arr, n); }在这段代码中heapify 函数用于构造大顶堆heapSort 函数用于进行堆排序swap 函数用于交换两个元素的值printArray 函数用于打印数组。
http://wiki.neutronadmin.com/news/105475/

相关文章:

  • wordpress 外贸网站建设济南街道办网站建设
  • 注册门户网站工程机械外贸网站建设
  • 局域网建站软件网络优化工程师发展前景
  • 张家港网站seo公司网站建设情况说明书
  • 网站开发 题目现在流行什么语言建设网站
  • 定制做网站平台北网站建设
  • 镇江企业网站建设租服务器多少钱
  • 关于网站建设的小故事网页界面设计教材
  • 佛山市企业网站seo报价什么是网络营销?如何理解网络营销
  • .php是什么网站高端网站设计公司上海
  • 房产网站建设价格物流案例网站
  • 个人网站建设规划表巨野有做网站的公司吗
  • 国外做伞的品牌网站安卓手机app开发用什么软件
  • 东莞网站建设有什么网络公司wordpress网站关闭
  • 杭州网站制作专做外贸库存的网站
  • 定制 网站电子商务网站开发方式
  • 小地方网站建设公司取名字的网站 优帮云
  • 目前热门的网站建设语言wordpress的意思和读音
  • 广州有哪些做网站的公司门户网站系统设计
  • 网站系统分析报告手机网站建设哪家专业
  • 做网站模板平台cms wordpress模板制作
  • 药材公司网站建设模板WordPress无法取消置顶文章
  • 凡科网站空间慢wordpress图片源码
  • 合肥建设工程竣工结算备案网站建设工程司法解释(一)
  • 深圳线运营是网站建设天津建设银行网站
  • 高校网站建设的重要性网站建设和维护要点
  • 网络直播平台搭建seo文章代写平台
  • 电脑手机一体网站张家界有没有做网站的公司
  • 海口房产网站建设wordpress 商务模板
  • 雅虎网站收录入口住房和城乡建设部政务服务门户app