当前位置: 首页 > 面试题库 >

当我们谈论排序时,自然排序是什么?

关玄裳
2023-03-14
问题内容

什么是自然排序。假设我有一个Employee对象,其名称,年龄和加入日期按什么是自然顺序排序?


问题答案:

自然排序是一种字母数字种类,对人类而言似乎是自然的。

在经典的字母数字排序中,我们将具有以下内容:

1 10 11 12 2 20 21 3 4 5 6 7
如果您使用自然排序,则将为:

1 2 3 4 5 6 7 10 11 12 20 21

根据语言的不同,自然排序有时会忽略大写字母并加重字母(即,所有重音字母都被视为非重音字母)。

许多语言都具有自然排序字符串的功能。但是,雇员对于语言而言太“高级”,您必须决定对自然订购它们并创建相应功能的含义。

以我的观点,对Employee的订购首先要使用自然排序按名称排序,然后按年龄和最后加入日期进行。

根据统计,分类变量有两种类型。具有无数字顺序类别的变量(标称)和具有无序类别的变量(标称)。员工姓名,年龄和加入日期的示例实际上被视为名义变量,因此不能通过自然排序进行排序。例如,如果您按儿童,青少年,成人的级别对年龄进行分类,则自然排序可能存在,在这种情况下,人们可以观察到升序的排序方式。



 类似资料:
  • 问题内容: 我有一些文件需要按名称排序,但是不幸的是,我无法使用常规排序,因为我也想对字符串中的数字进行排序,因此我进行了一些研究,发现所寻找的东西叫做。 我尝试了此处给出的解决方案,并且效果很好。 但是,对于诸如和这样的字符串,该字符串会导致特定的自然键算法失败,因为它仅与第一个整数匹配,在这种情况下,该整数将是和,因此它放弃了排序。因此,我认为可能会帮助匹配字符串中的所有数字并将它们分组在一起

  • 问题内容: 我有一个熊猫DataFrame,它的索引要自然排序。Natsort似乎不起作用。在构建DataFrame之前对索引进行排序似乎无济于事,因为我对DataFrame所做的操作似乎使过程中的排序变得混乱。关于如何自然使用索引的任何想法? 问题答案: 如果要对df进行排序,只需对索引或数据进行排序,然后直接将其分配给df的索引,而不是尝试将df作为arg传递,因为这会产生一个空列表: 请注意

  • 问题内容: 请查看下面的代码: 有人可以解释一下为什么输出是 代替 ? 因为在API中它表示优先级队列的元素是根据其自然顺序进行排序的。 问题答案: PriorityQueue基于优先级堆。尽管未对元素进行排序,但此数据结构允许非常快地检索最小元素。将元素添加到PriorityQueue的速度比向基于树的TreeSet快。由于未对元素进行排序,因此如API所述,迭代器“不会以任何特定顺序返回元素”

  • 问题内容: 有没有一种优雅的方法可以在MySQL数据库中进行高性能的自然排序? 例如,如果我有此数据集: 最终幻想 最终幻想4 最终幻想10 最终幻想12 最终幻想12:爱情之链 最终幻想冒险 最终幻想起源 最终幻想战术 除了将游戏名称拆分成各个组成部分外,其他任何 优雅的 解决方案 标题 :《最终幻想》 编号 :“ 12” 副标题 :“ Promathia的链条” 确保它们以正确的顺序出现?(1

  • 问题内容: 我已经为此工作了几个月。我只是无法获得(真实的字母数字)结果。令我震惊的是我无法获得自1992年以来的成就。 我正在寻找SQL,VBS或简单的excel或access中的任何解决方案。这是我的数据: 我要查找的顺序是真实的字母数字顺序,如下所示: 库存为7800条记录,因此我在处理能力方面也遇到了一些问题。 任何帮助,将不胜感激。 杰夫 问题答案: 在本机Excel中,您可以添加多个排

  • 问题内容: 我碰巧遇到了许多语句,例如当需要自然排序并同时对数组或集合和比较器进行排序以进行总排序时,使用了compare的语句。 您可能听到的版本可能相同,也可能相同,但含义相同,但最终还是两者(比较器和类似接口)之间的区别因素之一。 但是,我找不到任何地方的两种订购类型之间的区别。如果有人可以用一个很好的例子来解释它,我将不胜感激:) 问题答案: 总排序意味着可以将所有值与所有其他值进行比较。