广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python 选择排序中的树形选择排序
  • 607
分享到

Python 选择排序中的树形选择排序

2024-04-02 19:04:59 607人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录1、引言2、问题描述3、解决方案4、结语1、引言 选择排序里面主要讲了三个排序,分别是简单选择排序、树形选择排序、堆排序。今天这篇文章主要讲树形选择排序,树形选择排序也被称为锦标

1、引言

选择排序里面主要讲了三个排序,分别是简单选择排序、树形选择排序、堆排序。今天这篇文章主要讲树形选择排序,树形选择排序也被称为锦标赛排序,树形选择排序运用了锦标赛的思想进行排序,树形选择排序是指首先对n个记录的关键字进行两两比较,然后在n/2个较小者之间再进行两两比较,如此重复,直至选出最小的记录为止。

2、问题描述

给定一个序列,我们将如何用树形选择排序来将它排序呢,下面将结合图形和文字一起讲述。

示例1:对数据表A=(73,45,79,90,81,75,94,97)进行排序

输出:45 73 75 79 81 90 94 97

3、解决方案

数据表A是乱序的,现在需要将它按照从小到大的顺序排序好,根据树形选择排序的思想首先需要将比较的记录全部作为叶子,然后按照从左到右的顺序,两两进行比较,选出最小的那个,然后将比较后的n/2个元素又按照从左到右的顺序两两进行比较,选出最小的,一直重复这样操作后,会从底向上形成一个完全二叉树。可能读完这段文字还是不好理解,下面我将用图示来具体描述。

1.构建二叉树:图1是数据表A构成的二叉树,首先直接将数据表A的数据直接放在最下面,也就是二叉树的叶子;然后从左到右两两进行比较,例如73和45比较后选出最小的45,79和90比较后选出最小的79,将选出的45和79比较选出最小的45,一直这样重复操作,直到构成一个完整的二叉树。

2. 如何输出正确顺序:根据图1可以知道根节点是45,也就是最小的。图2就是把第一遍找出来的45用无穷符号代替,然后又两两比较,直到根节点变为最小的,通过图1和图2对比可以看出第一遍找到的最小的是45,第二遍是73,,现在又将找出来的73用无穷符号代替,又重复上面的操作,直到对所有数据排完序。如下图所示

4、结语

树形选择排序还是比较好理解,图和文字结合就比较容易结合。

到此这篇关于python 选择排序中的树形选择排序的文章就介绍到这了,更多相关Python 树形选择排序内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python 选择排序中的树形选择排序

本文链接: https://www.lsjlt.com/news/157625.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python 选择排序中的树形选择排序
    目录1、引言2、问题描述3、解决方案4、结语1、引言 选择排序里面主要讲了三个排序,分别是简单选择排序、树形选择排序、堆排序。今天这篇文章主要讲树形选择排序,树形选择排序也被称为锦标...
    99+
    2022-11-12
  • python排序算法之选择排序
    一、前言 相关知识来自《python算法设计与分析》。初级排序算法是指几种较为基础且容易理解的排序算法。初级排序算法包括插入排序、选择排序和冒泡排序3种。虽然它们的效率相对于高级排序...
    99+
    2023-05-17
    python排序算法 python选择排序
  • Python排序算法之 选择排序
      一、选择排序(Selection sort)  选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,所以称为:选择排序。  1、原...
    99+
    2023-06-02
  • C语言排序算法之选择排序(直接选择排序,堆排序)
    目录前言一、直接选择排序1.1 算法思想1.2 代码实现1.3 直接选择排序的特征总结二、堆排序2.1 什么是堆?2.2 判断是否是堆2.3 向下调整算...
    99+
    2022-11-13
  • java选择排序
    基本介绍 选择式排序也属于内部排序法,是从欲排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到 排序的目的。 选择排序思想: 选择排序(select sorting)也是一种简单的排序方法...
    99+
    2023-10-21
    java 排序算法 算法
  • python怎么选择排序
    在Python中,可以使用选择排序算法对一个列表进行排序。选择排序的基本思路是每次从未排序的部分中选出最小(或最大)的元素,然后将其放到已排序部分的末尾即可。本教程操作系统:windows10系统、Python3.11.4版本、Dell G...
    99+
    2023-12-13
    python 排序
  • 在java项目中实现一个树形选择排序
    在java项目中实现一个树形选择排序?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。树形选择排序:又称锦标赛排序(Tournament Sort),是一种按照锦标赛的思想进行选择...
    99+
    2023-05-31
    java 树形选择排序 ava
  • java 排序算法之选择排序
    目录基本介绍基本思想思路分析代码实现演变过程优化算法函数封装大量数据耗时测试基本介绍 选择排序(select sorting)也属于内部排序法,是从欲排序的数据中,按指定的规则选出来...
    99+
    2022-11-12
  • Java排序算法之选择排序
    目录一、选择排序二、代码实现三、测试一、选择排序 选择排序就是在每一次遍历过程中将数组中值最小的排到当前的第一位。 总共需要(数组长度-1)次遍历,在每次遍历中假定第一位索引的值为最...
    99+
    2022-11-12
  • python排序算法之选择排序怎么实现
    一、前言初级排序算法是指几种较为基础且容易理解的排序算法。初级排序算法包括插入排序、选择排序和冒泡排序3种。虽然它们的效率相对于高级排序算法偏低,但是在了解初级排序算法之后,再去学习相对复杂的高级排序算法会容易许多。二、描述选择排序表示从无...
    99+
    2023-05-17
    Python
  • python选择排序简单实现
    #!/usr/bin/env python3 # -*- coding: UTF-8 -*- # Date:2018-5-27 # Author:AreLIN #选择排序:每次只取一个最大或最小值的索引 import random a ...
    99+
    2023-01-31
    简单 python
  • JS如何选择排序
    这篇文章主要介绍JS如何选择排序,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下说明时间复杂度指的是一个算法执行所耗费的时间空间复杂度指运行完一个程序所需内存的大小稳定指,...
    99+
    2022-10-19
  • Java实现选择排序
    问题描述 利用选择排序把一列数组按从小到大或从大到小排序 (一)、选择排序思想 以从小到大为例: 1、第一轮选择,从第一个数开始,依次比较后面所有的数,不断选出当前最小的数,直到选出...
    99+
    2022-11-12
  • 20190426-选择排序算法
    它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 算法: step1:先写算法...
    99+
    2023-01-31
    算法
  • 【数据结构】选择排序 & 堆排序(二)
    目录 一,选择排序 1,基本思想 2, 基本思路 3,思路实现 二,堆排序 1,直接选择排序的特性总结: 2,思路实现 3,源代码 最后祝大家国庆快乐! 一,选择排序 1,基本思想 每一次从待排序的数据元素中选出最小(或最大)的一个...
    99+
    2023-10-18
    排序算法 算法 数据结构 c语言 开发语言
  • java冒泡排序和选择排序详解
    目录1、冒泡排序2、选择排序法总结1、冒泡排序 冒泡排序(Bubble Sorting)的基本思想是:通过对待 排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发...
    99+
    2022-11-12
  • java排序算法之选择排序详解
    本文实例为大家分享了java排序算法之选择排序的具体代码,供大家参考,具体内容如下 选择排序 选择排序的思路是这样的:首先,找到数组中最小的元素,拎出来,将它和数组的第一个元素交换位...
    99+
    2022-11-12
  • C++冒泡排序与选择排序详解
    目录 一.冒泡排序1.概念 2.图解3.代码的思路4.代码例子 二.选择排序1.概念2.图解3.代码的思路总结 一.冒泡排序 1.概念 冒泡排序这种排序方法其实关键词就在于冒泡两个字...
    99+
    2022-11-12
  • 排序算法图解之Java选择排序
    目录1.选择排序简介2.图解选择排序算法3.选择排序代码实现1.选择排序简介 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元...
    99+
    2022-11-13
    Java选择排序 Java 排序
  • C#算法之冒泡排序、插入排序、选择排序
    冒泡排序法 是数组等线性排列的数字从大到小或从小到大排序。 以从小到大排序为例。 数据 11, 35, 39, 30, 7, 36, 22, 13, 1, 38, 26, 18, 1...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作