返回顶部
首页 > 资讯 > 精选 >在java项目中实现一个树形选择排序
  • 837
分享到

在java项目中实现一个树形选择排序

java树形选择排序ava 2023-05-31 13:05:20 837人浏览 薄情痞子
摘要

在java项目中实现一个树形选择排序?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。树形选择排序:又称锦标赛排序(Tournament Sort),是一种按照锦标赛的思想进行选择

在java项目中实现一个树形选择排序?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

树形选择排序:又称锦标赛排序(Tournament Sort),是一种按照锦标赛的思想进行选择排序的方法。首先对n个记录的关键字进行两两比较,然后在n/2个较小者之间再进行两两比较,如此重复,直至选出最小的记录为止。

算法实现代码如下:

package exp_sort;public class TreeSelectSort { public static int[] TreeSelectionSort(int[] mData) {  int TreeLong = mData.length * 4;  int MinValue = -10000;  int[] tree = new int[TreeLong]; // 树的大小  int baseSize;  int i;  int n = mData.length;  int max;  int maxIndex;  int treeSize;  baseSize = 1;  while (baseSize < n) {   baseSize *= 2;  }  treeSize = baseSize * 2 - 1;  for (i = 0; i < n; i++) {   tree[treeSize - i] = mData[i];  }  for (; i < baseSize; i++) {   tree[treeSize - i] = MinValue;  }  // 构造一棵树  for (i = treeSize; i > 1; i -= 2) {   tree[i / 2] = (tree[i] > tree[i - 1] &#63; tree[i] : tree[i - 1]);  }  n -= 1;  while (n != -1) {   max = tree[1];   mData[n--] = max;   maxIndex = treeSize;   while (tree[maxIndex] != max) {    maxIndex--;   }   tree[maxIndex] = MinValue;   while (maxIndex > 1) {    if (maxIndex % 2 == 0) {     tree[maxIndex / 2] = (tree[maxIndex] > tree[maxIndex + 1] &#63; tree[maxIndex]       : tree[maxIndex + 1]);    } else {     tree[maxIndex / 2] = (tree[maxIndex] > tree[maxIndex - 1] &#63; tree[maxIndex]       : tree[maxIndex - 1]);    }    maxIndex /= 2;   }  }  return mData; } public static void main(String[] args) {  // TODO Auto-generated method stub  int array[] = { 38, 62, 35, 77, 55, 14, 35, 98 };  TreeSelectionSort(array);  for (int i = 0; i < array.length; i++) {   System.out.print(array[i] + " ");  }  System.out.println("\n"); }}

--结束END--

本文标题: 在java项目中实现一个树形选择排序

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

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

猜你喜欢
  • 在java项目中实现一个树形选择排序
    在java项目中实现一个树形选择排序?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。树形选择排序:又称锦标赛排序(Tournament Sort),是一种按照锦标赛的思想进行选择...
    99+
    2023-05-31
    java 树形选择排序 ava
  • 怎么在java项目中实现一个选择排序功能
    本篇文章为大家展示了怎么在java项目中实现一个选择排序功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、基本概念      每趟从待排序的记录...
    99+
    2023-05-31
    java 选择排序 ava
  • Python 选择排序中的树形选择排序
    目录1、引言2、问题描述3、解决方案4、结语1、引言 选择排序里面主要讲了三个排序,分别是简单选择排序、树形选择排序、堆排序。今天这篇文章主要讲树形选择排序,树形选择排序也被称为锦标...
    99+
    2024-04-02
  • 怎么在Java项目中实现一个堆排序算法
    怎么在Java项目中实现一个堆排序算法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。堆是数据结构中的一种重要结构,了解“堆”的概念和操作,可以帮助我们快速地掌握堆排序。堆的...
    99+
    2023-05-31
    java 堆排序算法 ava
  • 如何在java项目中实现一个插入排序算法
    如何在java项目中实现一个插入排序算法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、基本概念      插入排序的基...
    99+
    2023-05-31
    java 插入排序 ava
  • Java实现选择排序
    问题描述 利用选择排序把一列数组按从小到大或从大到小排序 (一)、选择排序思想 以从小到大为例: 1、第一轮选择,从第一个数开始,依次比较后面所有的数,不断选出当前最小的数,直到选出...
    99+
    2024-04-02
  • 如何在Java与Python项目中实现一个冒泡排序算法
    如何在Java与Python项目中实现一个冒泡排序算法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。冒泡排序可以说是在排序算法中最为入门级别的算法之一了。因为其简单易于理解...
    99+
    2023-05-31
    java 冒泡排序 python
  • 怎么在Java项目中利用QuickSort实现一个快速排序功能
    今天就跟大家聊聊有关怎么在Java项目中利用QuickSort实现一个快速排序功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。快速排序-----------------------...
    99+
    2023-05-31
    quicksort java
  • C#中怎么实现一个选择排序算法
    C#中怎么实现一个选择排序算法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。以下就是C#选择排序的实现方法:using System; &n...
    99+
    2023-06-18
  • 怎么在java项目中实现一个二叉查找树算法
    今天就跟大家聊聊有关怎么在java项目中实现一个二叉查找树算法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体内容如下package 查找;import edu...
    99+
    2023-05-31
    java 二叉查找树 ava
  • 在java项目中实现一个冒泡排算法的方法
    这期内容当中小编将会给大家带来有关在java项目中实现一个冒泡排算法的方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、算法原理比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作...
    99+
    2023-05-31
    java 冒泡排序 ava
  • 怎么在Android项目中实现一个Tab分类排序控件
    怎么在Android项目中实现一个Tab分类排序控件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。XML布局引入<com.net168.lib.SortTabLayout...
    99+
    2023-05-31
    android tab roi
  • 【第41天】实现一个简单选择排序
    本文已收录于专栏 🌸《Java入门一百例》🌸 学习指引 序、专栏前言 一、选择排序 二、【例题1】 1.题目描述 2、解题思路 3、模板代码 ...
    99+
    2023-09-12
    算法 排序算法 java 数据结构
  • 在java项目中实现归并排序的方法
    在java项目中实现归并排序的方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。归并排序算法:假设初始序列含有n个记录,首先将这n个记录看成n个有序的子序列,每个子序列长度为1...
    99+
    2023-05-31
    java 归并排序 ava
  • java中怎么实现冒泡排序和选择排序
    这篇文章将为大家详细讲解有关java中怎么实现冒泡排序和选择排序,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、冒泡排序冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序...
    99+
    2023-06-20
  • java怎么实现选择排序
    要实现选择排序,可以按照以下步骤进行:1. 遍历数组,从第一个元素开始,将其视为最小值。2. 依次与后面的元素比较,若有比当前最小值...
    99+
    2023-08-17
    java
  • Java如何实现冒泡排序与选择排序
    小编给大家分享一下Java如何实现冒泡排序与选择排序,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一.冒泡排序1.概念冒泡排序这种排序方法其实关键词就在于冒泡两个...
    99+
    2023-06-22
  • 一文教你在Java中实现一个冒泡排序和快速排序
    一文教你在Java中实现一个冒泡排序和快速排序?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。冒泡排序  冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列...
    99+
    2023-05-31
    java 冒泡排序 快速排序
  • 怎么在Java中利用二叉查找树算法实现一个排序功能
    这期内容当中小编将会给大家带来有关怎么在Java中利用二叉查找树算法实现一个排序功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体如下:public class BinaryNode<T ext...
    99+
    2023-05-31
    java 二叉查找树 排序
  • 在Java项目中如何实现一个同步锁
    在Java项目中如何实现一个同步锁?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java 同步锁(synchronized)详解及实例Java中cpu分给每个线程的时间片是...
    99+
    2023-05-31
    java 同步锁 ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作