gpt4 book ai didi

c# - 基于预定义数据生成近似排序列表的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:50:28 24 4
gpt4 key购买 nike

注意:这是 2 部分问题的第 1 部分。

Part 2 here

我想更多地了解排序算法以及比编码更好的方法!所以我想我需要一些数据来处理。

我创建一些“标准”数据的方法如下:创建一定数量的项目,不确定要多大,但我想玩得开心,让我的电脑有点呻吟:D

获得该列表后,我会将其推送到一个文本文件中,然后读取该文件以运行我的算法。我应该总共有 4 个文本文件,其中填充了相同的数据,只是为了运行我的算法而进行了不同的排序(见下文)。

如果我错了请纠正我,但我相信我需要 4 种不同类型的场景来描述我的算法。

  • 随机排序的数据(为此我将使用 knuth shuffle)
  • 反转数据(足够简单)
  • 接近排序(不确定如何实现)
  • 很少有独特之处(再次不确定如何处理)

这个问题是为了生成一个几乎排序的列表。

哪种方法最适合根据预定义数据生成近似排序的列表?

最佳答案

“打乱”排序列表以使其“几乎排序”:

  1. 创建一个您可以想到的函数列表,您可以将这些函数应用于数组的各个部分,例如:

    否定(数组,startIndex,endIndex);
    反转(数组,startIndex,endIndex);
    Swap(array, startIndex, endIndex);

  2. 对于 i 从零到数组长度的某个函数(例如 Log(array.Length):

    1. 随机选择2个整数*
    2. 从你想到的函数中随机选择一个函数
    3. 将该函数应用于数组的那些索引

*注意:整数应限制为数组大小。相反,选择随机整数并“环绕”数组 - 这样靠近末端的元素将有与中间元素相同的修改机会。

关于c# - 基于预定义数据生成近似排序列表的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7047896/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com