Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 可以将自平衡二叉搜索树应用于对象吗?_Sorting_Language Agnostic_Tree_Adt - Fatal编程技术网

Sorting 可以将自平衡二叉搜索树应用于对象吗?

Sorting 可以将自平衡二叉搜索树应用于对象吗?,sorting,language-agnostic,tree,adt,Sorting,Language Agnostic,Tree,Adt,我研究树木已经有几天了,我对它们是如何分类的有点困惑。基本节点非常简单: template < typename TYPE > struct Node { TYPE Data; Node < TYPE > * Left; Node < TYPE > * Right; }; 在排序方面,我知道这是一个简单的比较,需要节点的数据在左下方,在右上方,我可以看到这在整数类型int,double,float,char上是如何工作的。我感到困

我研究树木已经有几天了,我对它们是如何分类的有点困惑。基本节点非常简单:

template < typename TYPE >
struct Node {

    TYPE Data;
    Node < TYPE > * Left;
    Node < TYPE > * Right;

};
在排序方面,我知道这是一个简单的比较,需要节点的数据在左下方,在右上方,我可以看到这在整数类型int,double,float,char上是如何工作的。我感到困惑的是,如何使用用户定义的类型和对象来实现这一点。究竟什么是/应该比较的?这是一个简单的个案回答还是有一个通用的方法可以使用

如果有任何信息能帮助我澄清这一点,我将不胜感激。

我认为这个问题没有真正的答案

究竟什么是/应该比较的

这取决于数据类型!如果您有一个字符串,您可能希望按字母顺序对其进行排序。如果字符串表示一个角色,则可能需要按重要性排序。如果是一种颜色呢?你可以按色调或亮度来分类。没有一个普遍的答案


如果有些东西根本不可比较,或者一个比较没有意义,想象一下你正在比较代表衣服的对象,也许你不应该使用排序树

所以答案是与上下文相关的。我想我明白了,谢谢。