作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
注意:这是 2 部分问题的第 1 部分。
我想更多地了解排序算法以及比编码更好的方法!所以我想我需要一些数据来处理。
我创建一些“标准”数据的方法如下:创建一定数量的项目,不确定要多大,但我想玩得开心,让我的电脑有点呻吟:D
获得该列表后,我会将其推送到一个文本文件中,然后读取该文件以运行我的算法。我应该总共有 4 个文本文件,其中填充了相同的数据,只是为了运行我的算法而进行了不同的排序(见下文)。
如果我错了请纠正我,但我相信我需要 4 种不同类型的场景来描述我的算法。
这个问题是为了生成一个几乎排序的列表。
哪种方法最适合根据预定义数据生成近似排序的列表?
最佳答案
“打乱”排序列表以使其“几乎排序”:
创建一个您可以想到的函数列表,您可以将这些函数应用于数组的各个部分,例如:
否定(数组,startIndex,endIndex);
反转(数组,startIndex,endIndex);
Swap(array, startIndex, endIndex);
对于 i 从零到数组长度的某个函数(例如 Log(array.Length)
:
*注意:整数应不限制为数组大小。相反,选择随机整数并“环绕”数组 - 这样靠近末端的元素将有与中间元素相同的修改机会。
关于c# - 基于预定义数据生成近似排序列表的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7047896/
我是一名优秀的程序员,十分优秀!