java实现对树形结构(文件夹式)数据数组进行排序

author author     2023-04-01     388

关键词:

Folder有如下属性:id,pid(父节点),sequence(同级节点排序依据)
有如下数据:
F1 (1,0,1)
F2 (2,0,2)
F3 (3,4,1)
F4 (4,2,1)
F5 (5,1,1)
F6 (6,1,2)
F7 (7,6,1)
F8 (8,0,3)
树形结构为:
(1,0,1) F1
(5,1,1) F5

(6,1,2) F6

(7,6,1) F7

(2,0,2) F2
(4,2,1) F4

(3,4,1) F3
(8,0,3) F8
怎么实现对以上数据以sequence大小为依据进行排序,实现按树形结构输出
F1、F5、F6、F7、F2、F4、F3、F8

参考技术A 这个问题本质上就是个数据结构的问题,所谓排序和查找效率依赖的是算法和数据结构的配合,你现在定下了链表(没有具体说明的话,这里应该指的是单向链表吧)、数组和二叉树,这几个之中,那排序和查找的数据就看用什么算法和相应的数据结构配合了~~~

排序算法中,快速排序是最快的,比较适合用链表来处理,但是链表的查找是比较慢的(双向链表的话可以加快查找速度)。
数组排序会比较慢,不是算法的问题,而是数组的调整因为需要位移,但是数组一旦排号顺序后,查找是很快的——折半查找。
二叉数较为平局,排序可以采用堆排序,查找可以建二叉排序树来找(用B+或B-树的话可以更快)。

个人看法,不一定对,欢迎拍砖,具体代码知道算法了就自己上网找吧。

数据结构实验四radixsortandstack(代码片段)

一、实验描述RadixSort。实现桶式排序和基于桶式排序的基数排序。在基数B中,数组长度n和最大元素m中,对排序时间影响最大的是哪一个?元素在未排序数组中的顺序是否对时间复杂度有影响?设计实验证明你的想法。Stack。用C... 查看详情

java中树形结构怎么实现

我用过树结构的,是因为map需要排序,使用treemap,可以将key进行排序参考技术A核心算法是递归. 参考技术B楼上说的对,后台核心算法是递归,前台使用tree相关js插件,看看人家的示例demo,一葫芦画瓢就ok了 查看详情

java应用使用java实现数据结构和算法:排序查找图

...相关阅读:​​Java应用【一】Java文件操作:读写文件和文件夹​​​​Java应用【二】Java并发编程与任务调度详解​​​​Java应用【三】使用Jackson库进行JSON序列化和反序列化​​​​Java应用【四】如何使用JPA进行对象关系映... 查看详情

4.19使用qsort对结构体数组进行排序,实现对结构的体一级排序和二级排序,进一步了解qsort的原理

qsort对结构体数组进行排序时,可以根据结构体元素中的任意某个成员进行比较之后,如果要交换则会连带结构体中其他成员的一起进行整体的结构体元素交换所以感觉真是万能排序接口只进行对结构体的一级排序#include<stdio.h... 查看详情

数据结构-排序之快速排序(使用java代码实现)(代码片段)

...法时,学到了快速排序。对于快速排序的算法的具体实现过程有了一定了解,但在具体实现的时候出现了一些小问题。在和同学讨论和查阅资料过后打算使用java代码将其实现出来。快速排序快速排序(Quicksort)是... 查看详情

数据结构都有哪些

...之间的关系称为结构。有四类基本结构:***、线性结构、树形结构、图状结构;***结构:除了同属于一种类型外,别无其它关系线性结构:元素之间存在一对一关系常见类型有:数组,链表,队列,栈,它们之间在操作上有所区别.例如:链... 查看详情

如何在 ColdFusion 中对结构数组进行排序

】如何在ColdFusion中对结构数组进行排序【英文标题】:HowtosortanarrayofstructsinColdFusion【发布时间】:2011-02-0821:00:08【问题描述】:我在ColdFusion中有一个结构数组。我想根据结构中的一个属性对该数组进行排序。我怎样才能做到这... 查看详情

使用 qsort 对结构指针数组进行排序

】使用qsort对结构指针数组进行排序【英文标题】:Sortinganarrayofstructpointersusingqsort【发布时间】:2014-07-0413:50:12【问题描述】:尝试对这个结构数组使用qsort时,我得到了奇怪的结果。我有这个结构:structaccess_dataintsector;intarrival... 查看详情

是否有一个 C 函数,给定具有不同数据类型的结构数组,可以使用任何一种数据类型对数组进行排序

】是否有一个C函数,给定具有不同数据类型的结构数组,可以使用任何一种数据类型对数组进行排序【英文标题】:IsthereaCfunctionwhich,givenastructarraywithdifferentdatatypes,cansortthearraywithanyoneofthedatatypes【发布时间】:2021-12-0617:30:28【... 查看详情

数据结构——基数排序

...直到最高位排序完毕,数组就变成一个有序数组了。源码实现privatestaticvoidsort(in 查看详情

使用字节比较对结构进行排序的最佳排序算法?

】使用字节比较对结构进行排序的最佳排序算法?【英文标题】:Bestsortingalgorithmforsortingstructswithbytecomparisons?【发布时间】:2011-01-2317:25:57【问题描述】:我有一个包含64个结构的数组,其中包含大量数据(结构大约128个字节,... 查看详情

java怎么对数组中数据进行降序排序?(代码片段)

首先,想实现降序排序我们需要了解两个介绍Collections集合的两个方法:一个是按照从小到大的排序sort方法。Collections.sort();List<Integer>list=newArrayList<Integer>();list.add(1);list.add(4);list.add(2);list.add(5);Col 查看详情

如何用java实现树形结构啊?

请教各位大虾,如何用Java语言实现树形结构啊?类似:一级菜单01二级菜单0101二级菜单0102...一级菜单02二级菜单0201二级菜单0202...最好能看到源代码,万分感谢!packagetree;importjava.util.LinkedList;importjava.util.List;/***功能:把一个数... 查看详情

java数据结构和算法:综述

数据结构和算法能起到什么作用?  数据结构是指数据在计算机内存空间或磁盘中的组织形式。数据结构包括数组、链表、栈、二叉树、哈希表等等。算法对这些结构中的数据进行各种处理,例如,查找一条特殊的数据项或对... 查看详情

使用 stdlib 的 qsort() 对字符串数组进行排序

...工程专业的学生,​​在学习了3个学期的Java(直至数据结构)后,我正在上C的第一堂课。这个问题与家庭作业有关,但离我解决它还有几个步骤。我有一个读入内存的输入文件,它存储在char[9][500] 查看详情

可以根据创建时间对文件进行排序并存储在字符串数组中吗?

】可以根据创建时间对文件进行排序并存储在字符串数组中吗?【英文标题】:Sortingfilesaccordingtocreationtimeandstoringinstringarrayispossible?【发布时间】:2022-01-0604:55:58【问题描述】:我正在尝试根据特定目录中的文件创建时间对文件... 查看详情

如何利用php数组对百万数据进行排重

...数字大小排列也可以按字母顺序排列。PHP的sort()函数实现了这个功能,如ListingA所示:ListingA<?phpÂ$data=array(5,8,1,7,2);Âsort($data);Âprint_r($data);Â?>输出结果如下所示:Array([0]=>1[1]=>2[2]=>5[3]=>7[4]=>8)参考技... 查看详情

java递归实现树形结构的两种方式(代码片段)

目录0、引言1、数据准备2、类型转化3、递归实现方法3.1、Java7及以下纯Java递归实现3.2、Java8及以上借助lamda表达式实现0、引言在开发的过程中,很多业务场景需要一个树形结构的结果集进行前端展示,也可以理解为是一... 查看详情