我有一个编写算法的任务,用于在动态排序数组中查找重复项。我想写这个algoirthm,但在开始之前,我必须知道动态排序数组的数据结构,但我不知道。我试图谷歌搜索,但我找不到像动态排序数组。你能指导我吗?这个数据结构是什么以及它看起来如何?谢谢。
答案 0 :(得分:1)
我认为你的教师只是指一个可以改变和排序的数组,所以你可以假设它总是以正确的顺序并且它的长度可变。如果算法是用伪代码编写的,那可能就是你需要知道的。
答案 1 :(得分:0)
我认为它意味着一个长度是动态的数组(即在编译时未知),并且其值已经过排序。
答案 2 :(得分:0)
我从来没有听说过这种数据结构,但基于单个词我会猜到它:
get(index)
和set(index)
。我不认为这样的数据结构对于查找重复数据非常有效。我更喜欢某种地图,除非你需要非常简单的算法。
答案 3 :(得分:0)
让我们看看,您需要了解动态排序数组是什么:
你已经知道排序数组是什么了,所以让我们试着理解dynamic array是什么:它是一个可增长的数组,其中对数组的大小没有限制。
因此,总而言之,您需要编写一个数组:
A.分类
B.动态性(扩展)
如何实施?阅读Dynamic arrays overview and implementation in Java and C++
答案 4 :(得分:0)
我会说你的作业可能有拼写错误。它可能应该读取“已排序的动态数组”。
但是,始终按排序顺序插入新项目的动态数组可能符合该术语。所以拿你的动态数组:
[2] [5] [7] [9]
插入元素'8'将产生以下数组:
[2] [5] [7] [8] [9]