数据结构的使用

时间:2018-10-03 06:25:10

标签: data-structures

我对编码评估中使用数据结构有一个共同的问题。例如,在进行任何编码评估(例如hackerrank等)时,如果将数组作为参数传递给需要完成的函数,是否可以根据问题将数据恢复为哈希图或其他数据结构?好吧,我知道没有明确的限制,但是在评估性能时会很重要吗?

2 个答案:

答案 0 :(得分:0)

最好的方法是,如果您的数据结构不能真正在性能方面占上风,则尽量避免将接收到的数组复制到其他数据结构中。但是,如果新的数据结构增强了算法的性能,则是的,您应该毫不犹豫地执行此操作,因为它只会是线性运算(O(n))。尽管这只是我的拙见,但希望您对此有更好的答案。

答案 1 :(得分:0)

对于此类问题,没有直接答案。答案完全取决于您要解决的问题。 例如,如果有人问我应该使用线性搜索还是二进制搜索从未排序的数组中查找值。即使二进制搜索比线性搜索快得多,仍然使用二进制搜索并不总是有效的。 例如,如果他/她只需要在数组中搜索一次,那么使用二进制搜索将使他/她的复杂度为O(nlogn),因为首先需要对数组进行排序,在这里他/她可以使用线性搜索进行搜索复杂度为O(n)。

希望您能得到答案:)