void HeapSort(int *a, int n) //堆排序 { //建立堆 for(int i = n/2-1; i >= 0; i--) //非叶节点最大序号值为n/2 HeapAdjust(a, i, n); for(int j = n-1; j >

Slides:



Advertisements
Similar presentations
《公路纵断面设计》 —— 纵断面设计的要求 道桥系 二○○七年五月. 纵断面设计的一般要求 1 .纵坡设计必须满足《公路工程技术标准》中的各项规定。 2 .为保证汽车能以一定的车速安全舒顺地行驶,纵坡应具有 — 定 的平顺性,起伏不宜过大及过于频繁。尽量避免采用极限纵坡 值.缓和坡段应自然地配合地形设置,在连续采用极限长度的.
Advertisements

分论坛二:04 山东交通学院 绩效考核管理的实践与思考 山东交通学院 李景芝
政府採購法規概要 報告人:杜國正 行政院公共工程委員會企劃處.
教学目的:了解基础性、公益性投资项目的概念、特点,掌握基础性、公益性投资项目的经济评价方法。
之 魔 析 妖 鬼 解 怪 大 沈家仪小组出品.
四資二甲 第三週作業 物件導向程式設計.
第6章 二叉树和树 前面的章节主要讨论的是线性结构,二叉树和树属于非线性的结构。遍历非线性结构比线性结构要麻烦。
数据结构及应用算法教程(修订版) 配套课件.
与 奥 运 同 行 标题:与奥运同行 制作单位:布心小学  六(五)班 主编:吴紫绵 组员:陈伟权/李凯/吴紫绵.
4a052028陳邑銘 4a055020吳俊諺4a0j2040侯娜惠 4a13a004吳尚霖 4a2e0041林穗琪 4a2g0029謝渝棠
3DS MAX 机绘效果图表现技法 —— 李诚.
工 程 力 学 主讲教师:李林安.
第九章 长期资产及摊销 2017/3/21.
计算机软件技术基础 数据结构与算法(4).
数据结构——树和二叉树 1/96.
第5章 树( Tree )和二叉树 5.1 树的基本概念 5.2 二叉树 5.3 遍历二叉树和线索二叉树 5.4 树和森林
TA:于波 计算机科学工程系 上海交通大学 December 5, 2009
数据结构 第六章 树与二叉树 深圳大学计算机系 蔡茂国.
第十四章 转向系.
崇拜即將開始,請大家安靜片刻, 預備心靈敬拜上帝。
关于对新型农村合作医疗制度实行现状的调查
预测股市将不涨,可亮出卖出认购期权(Short Call) 招数,获得权利金,增加收益,持股者也可使出此招,为股票锁定卖出价。这一剑法在到期日股价低于行权价格时,能获得全部权利金收入。
Tree(樹) 什麼是「樹」? 「樹」的範例 「樹」的定義 「樹」的表示法.
复习与总结.
高级语言程序设计 主讲人:陈玉华.
Chapter8 Binary and Other Trees
第四章 函数和递归.
第五章 数组和广义表.
程序设计期末复习 黎金宁
作弊是否很有诱惑性? 上堂课已经讲了 作业不一定在两个小时里都能完成 答疑没有一个人? 作弊是有记录的 心理系很多同学集体作弊,让人震惊
6.4.1指针与二维数组 1、二维数组结构的分析 设有数组定义为:int a[3][4]; 则有: a表示数组在内存中的首地址。
加熱溫度控制器 S 許位祥 S 李世震 S 陳彥霖 S 羅章元 指導教授:林得裕教授.
中央广播电视大学开放教育试点课程 数据结构 辅导教师 倪政林.
创建三维模型(二) 1. 创建标准基本体 课堂练习——创建凉亭模型 课堂练习——创建茶几模型 2. 创建扩展基本体.
6.6 Huffman树及其应用 王 玲.
6.3 遍历二叉树和线索二叉树(知识点二) 遍历二叉树 一、问题的提出
第九章 查找 2019/2/16.
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第6章 预 处 理.
Tree & Binary Tree.
網路遊戲版 幸福農場168號.
7.1 广义表的概念 广义表是n(n≥0)个数据元素组成的序列,其中每个数据元素或是单个数据元素(简称原子),或仍然是一个广义表 。
普通高速模板的制作与调整.
第1章 初识3DS MAX 的神奇功能 本章应知 了解3DS MAX 6的工作界面、菜单栏、主工具栏、辅助工具栏、命令面板、工作区、动画播放区、视图工具的基本功能。 本章应会 1. 使用文件菜单能打开、新建、重做、保存3DS MAX文件 2. 会使用命令面板命令在视图中建立三维立体模型.
C语言复习3----指针.
9.1 基本概念 9.2 线性表的查找 9.3 树表的查找 9.4 哈希表的查找 9.5 各种查找方法的比较
第一章 程序设计和C语言 主讲人:高晓娟 计算机学院.
資料結構使用Java 第9章 樹(Tree).
程式的時間與空間 Time and Space in Programming
Ch.9 查找 §9.1 基本概念 查找和排序是两个重要的运算
C程序设计.
树和二叉树(一).
4-12 外部中斷 HT66F70A.
第6章 预 处 理.
第二章 Java基本语法 讲师:复凡.
累堆排序法 (Heap Sort).
第二章 基本数据类型 ——数据的表示.
龍老師我不會Debug QQ.
挑戰C++程式語言 ──第9章 函數.
第十三章 振动作业 基础训练:4、8; 自测提高:2、3、6、7; 二. 填空题 基础训练:9、10、12、15、16 三. 计算题
程序调试 ——基础与技巧 西安交通大学 王树升.
《数据结构与算法设计》第一部分 面向对象的C++程序设计基础.
迴圈(重複性結構) for while do while.
C++语言程序设计 C++语言程序设计 第十一章 异常处理 C++语言程序设计.
本节内容 在堆中创建对象 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
資料!你家住哪裏? --談指標 綠園.
本节内容 1.二叉排序树的定义 2.二叉排序树的查找操作 3.二叉排序树的插入操作 4.二叉排序树的删除操作 5.二叉排序树的总结
第4章 材质与贴图 4.1 材质的基本概念 4.2 材质编辑器 4.3 贴图 4.4 贴图坐标 4.5 材质类型 4.6 阴影类型
第二章 Java基本语法 讲师:复凡.
Presentation transcript:

void HeapSort(int *a, int n) //堆排序 { //建立堆 for(int i = n/2-1; i >= 0; i--) //非叶节点最大序号值为n/2 HeapAdjust(a, i, n); for(int j = n-1; j > 0; j--) SWAP(a[0], a[j]); //交换堆顶和最后一个元素, HeapAdjust(a, 0, j); //重新调整成为大顶堆 }

#define SWAP(a,b) { a ^= b; b ^= a; a ^= b;} void HeapAdjust(int *a, int i, int n) //调整堆 { int lchild = 2*i+1; //i的左孩子节点序号 int rchild = 2*i+2; //i的右孩子节点序号 int max = i; //临时变量 if(i <= n/2-1) //如果i不是叶节点就不用进行调整 if(lchild < n && a[lchild] > a[max]) max = lchild; if(rchild < n && a[rchild] > a[max]) max = rchild; if(max != i) SWAP(a[i], a[max]); //避免调整之后以max为父节点的子树不是堆 HeapAdjust(a, max, n); }