欢迎来到天天文库
浏览记录
ID:52841637
大小:3.15 MB
页数:16页
时间:2020-03-22
《数据结构全套配套课件C语言描述第2版李学刚教学课件6-10堆排序3.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2016数据结构Datastructure讲授:丁慧堆排序常州信息职业技术学院0213堆排序8、建立初始大根堆实例实例:对关键字序列(42,13,91,23,24,16,05,88)建立大根堆。8824162391134205第1步:调整R[4]。由于R[4]2、其较大孩子结点R[6],所以无需调整,结果如右图。78824162391134205123456815堆排序8、建立初始大根堆实例实例:对关键字序列(42,13,91,23,24,16,05,88)建立大根堆。2324161391884205第3步:调整R[2]。由于R[2]3、,24,16,05,88)建立大根堆。2324161342889105第4步:调整R[1]。由于R[1]4、160513初始大根堆918842232416051318堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。2324161342889105123456879113第1趟:先将堆顶记录R[1]与堆底记录R[8]交换;再对无序区为R[1…7]重建堆,得新的无序区R[1…7]为88,24,42,23,13,16,05,新的有序区R[8]为[91],如右图。13881324231316914224880519堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,5、23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。231316914224880512345680505第2趟:先将堆顶记录R[1]与堆底记录R[7]交换;再对无序区为R[1…6]重建堆,得新的无序区R[1…6]为42,24,16,23,13,05,新的有序区R[7,8]为[88,91],结果如右图。428805162313059116244288720堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。2313059116244288123456、6870505第3趟:先将堆顶记录R[1]与堆底记录R[6]交换;再对无序区为R[1…5]重建堆,得新的无序区[1…5]为24,23,16,05,13,新的有序区R[6…8]为[42,88,91],如右图。23420524051342911623248821堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。05134291162324881234568713第4趟:先将堆顶记录R[1]与堆底记录R[5]交换;再对无序区为R[1…4]重建堆,得新的无序区[1…4]为7、23,13,16,05,新的有序区R[5…8]为[24,42,88,91],如右图。132324052442911613238822堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。052442911613238812345687第5趟:先将堆顶记录R[1]与堆底记录R[4]交换;再对无序区为R[1…3]重建堆,得新的无序区[1…3]为16,13,05,新的有序区R[4…8]为[23,24,42,88,91],如右图。230523244291051316880518、623堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。232442
2、其较大孩子结点R[6],所以无需调整,结果如右图。78824162391134205123456815堆排序8、建立初始大根堆实例实例:对关键字序列(42,13,91,23,24,16,05,88)建立大根堆。2324161391884205第3步:调整R[2]。由于R[2]3、,24,16,05,88)建立大根堆。2324161342889105第4步:调整R[1]。由于R[1]4、160513初始大根堆918842232416051318堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。2324161342889105123456879113第1趟:先将堆顶记录R[1]与堆底记录R[8]交换;再对无序区为R[1…7]重建堆,得新的无序区R[1…7]为88,24,42,23,13,16,05,新的有序区R[8]为[91],如右图。13881324231316914224880519堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,5、23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。231316914224880512345680505第2趟:先将堆顶记录R[1]与堆底记录R[7]交换;再对无序区为R[1…6]重建堆,得新的无序区R[1…6]为42,24,16,23,13,05,新的有序区R[7,8]为[88,91],结果如右图。428805162313059116244288720堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。2313059116244288123456、6870505第3趟:先将堆顶记录R[1]与堆底记录R[6]交换;再对无序区为R[1…5]重建堆,得新的无序区[1…5]为24,23,16,05,13,新的有序区R[6…8]为[42,88,91],如右图。23420524051342911623248821堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。05134291162324881234568713第4趟:先将堆顶记录R[1]与堆底记录R[5]交换;再对无序区为R[1…4]重建堆,得新的无序区[1…4]为7、23,13,16,05,新的有序区R[5…8]为[24,42,88,91],如右图。132324052442911613238822堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。052442911613238812345687第5趟:先将堆顶记录R[1]与堆底记录R[4]交换;再对无序区为R[1…3]重建堆,得新的无序区[1…3]为16,13,05,新的有序区R[4…8]为[23,24,42,88,91],如右图。230523244291051316880518、623堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。232442
3、,24,16,05,88)建立大根堆。2324161342889105第4步:调整R[1]。由于R[1]4、160513初始大根堆918842232416051318堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。2324161342889105123456879113第1趟:先将堆顶记录R[1]与堆底记录R[8]交换;再对无序区为R[1…7]重建堆,得新的无序区R[1…7]为88,24,42,23,13,16,05,新的有序区R[8]为[91],如右图。13881324231316914224880519堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,5、23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。231316914224880512345680505第2趟:先将堆顶记录R[1]与堆底记录R[7]交换;再对无序区为R[1…6]重建堆,得新的无序区R[1…6]为42,24,16,23,13,05,新的有序区R[7,8]为[88,91],结果如右图。428805162313059116244288720堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。2313059116244288123456、6870505第3趟:先将堆顶记录R[1]与堆底记录R[6]交换;再对无序区为R[1…5]重建堆,得新的无序区[1…5]为24,23,16,05,13,新的有序区R[6…8]为[42,88,91],如右图。23420524051342911623248821堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。05134291162324881234568713第4趟:先将堆顶记录R[1]与堆底记录R[5]交换;再对无序区为R[1…4]重建堆,得新的无序区[1…4]为7、23,13,16,05,新的有序区R[5…8]为[24,42,88,91],如右图。132324052442911613238822堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。052442911613238812345687第5趟:先将堆顶记录R[1]与堆底记录R[4]交换;再对无序区为R[1…3]重建堆,得新的无序区[1…3]为16,13,05,新的有序区R[4…8]为[23,24,42,88,91],如右图。230523244291051316880518、623堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。232442
4、160513初始大根堆918842232416051318堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。2324161342889105123456879113第1趟:先将堆顶记录R[1]与堆底记录R[8]交换;再对无序区为R[1…7]重建堆,得新的无序区R[1…7]为88,24,42,23,13,16,05,新的有序区R[8]为[91],如右图。13881324231316914224880519堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,
5、23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。231316914224880512345680505第2趟:先将堆顶记录R[1]与堆底记录R[7]交换;再对无序区为R[1…6]重建堆,得新的无序区R[1…6]为42,24,16,23,13,05,新的有序区R[7,8]为[88,91],结果如右图。428805162313059116244288720堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。231305911624428812345
6、6870505第3趟:先将堆顶记录R[1]与堆底记录R[6]交换;再对无序区为R[1…5]重建堆,得新的无序区[1…5]为24,23,16,05,13,新的有序区R[6…8]为[42,88,91],如右图。23420524051342911623248821堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。05134291162324881234568713第4趟:先将堆顶记录R[1]与堆底记录R[5]交换;再对无序区为R[1…4]重建堆,得新的无序区[1…4]为
7、23,13,16,05,新的有序区R[5…8]为[24,42,88,91],如右图。132324052442911613238822堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。052442911613238812345687第5趟:先将堆顶记录R[1]与堆底记录R[4]交换;再对无序区为R[1…3]重建堆,得新的无序区[1…3]为16,13,05,新的有序区R[4…8]为[23,24,42,88,91],如右图。23052324429105131688051
8、623堆排序9、大根堆排序实例实例:对关键字序列(42,13,91,23,24,16,05,88)所建立的初始大根堆基础上进行大根堆排序。232442
此文档下载收益归作者所有