javascript - 升序/降序排序算法与搜索算法的含义是什么?
问题描述
我注意到很多排序算法的教程返回一个升序数组。显然,这涉及到他们的搜索算法实现,该算法也将排序的升序数组作为其输入。
排序/搜索的上升要求是否只是学习算法问题解决的指导标准?
为什么不实现搜索算法以使其接受升序或降序数组?
例如,输出降序数组的插入排序算法仍然是插入排序是否仍然安全?换句话说,它们只是一般的方法,需要对其输出进行小幅调整?
解决方案
排序算法只是您可以使用的一般框架。您可以根据需要按升序/降序、按字典顺序(对于字符串)等对数组进行排序。它仍将被称为“插入排序”或“合并排序”或您正在使用的任何内容。
通常升序显示在教育平台上,因为这是最常见或最基本的。没有其他原因。
您正在谈论的搜索算法很可能是二分搜索。您也可以对降序数组执行二进制搜索!你只需要做一些小的改变。您可以在此处了解更多信息:https ://en.wikipedia.org/wiki/Binary_search_algorithm 还有一个按降序排列的二进制搜索页面(与标准一样快): https ://www.geeksforgeeks.org/search -反向排序数组中的元素/
推荐阅读
- python - API 错误解释带有特殊字符的密码
- reactjs - 无法在 React Native 中的反应导航下在 Tab Navigator 中呈现图像
- python - 排序 dict() 和 Orderedict()
- arrays - 从另一个对象数组创建一个对象数组,稍后使用 map 重建原始对象数组
- sql - 更新语句内的 DBMS_SQL.NUMBER_TABLE 引发无效数据类型错误
- visual-studio-code - 在 vs 代码中删除文件中的导航器
- java - 如何在方法上测试 Spring 的 Cacheable?
- python - 在 matplotlib 中将字符串转换为浮点数会产生错误
- mongodb - mongodb 奇怪的 RECOVERY 数据库突然出现
- c# - C#位图和图形,内存问题和在内存中存储屏幕截图